aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2013-02-08 19:08:12 +0100
committerUros Bizjak <uros@gcc.gnu.org>2013-02-08 19:08:12 +0100
commit2480f2ca8829bf0f7cd0f1856fef39f625f4e4da (patch)
tree88ed51f8c917fb9e6bade85d7eada5fc2e2545a2
parent76ef61fbd9ed3f30a5553ddac1a1568fc52e6ab9 (diff)
downloadgcc-2480f2ca8829bf0f7cd0f1856fef39f625f4e4da.zip
gcc-2480f2ca8829bf0f7cd0f1856fef39f625f4e4da.tar.gz
gcc-2480f2ca8829bf0f7cd0f1856fef39f625f4e4da.tar.bz2
gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
* config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set. * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto. From-SVN: r195895
-rw-r--r--gcc/ChangeLog43
-rw-r--r--gcc/config/i386/gnu-user.h6
-rw-r--r--gcc/config/i386/gnu-user64.h6
3 files changed, 35 insertions, 20 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 513a794..c0e9efb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,22 +1,29 @@
-2013-02-08 Edgar E. Iglesias <edgar.iglesias@gmail.com>
-
- * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT
- (microblaze*-*-elf): Likewise
- * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
- LINK_SPEC
- * config/microblaze/microblaze-c.c: Add builtin defines for _LITTLE_ENDIAN
- and _BIG_ENDIAN
- * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and add to
- TARGET_DEFAULT flags.
+2013-02-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/gnu-user.h (TARGET_CAN_SPLIT_STACK): Define only
+ when HAVE_GAS_CFI_PERSONALITY_DIRECTIVE is set.
+ * config/i386/gnu-user64.h (TARGET_CAN_SPLIT_STACK): Ditto.
+
+2013-02-08 Edgar E. Iglesias <edgar.iglesias@gmail.com>
+
+ * config.gcc (microblaze*-linux*): Add TARGET_BIG_ENDIAN_DEFAULT.
+ (microblaze*-*-elf): Likewise.
+ * config/microblaze/linux.h: Add -mbig-endian / -mlittle-endian to
+ LINK_SPEC.
+ * config/microblaze/microblaze-c.c: Add builtin defines for
+ _LITTLE_ENDIAN and _BIG_ENDIAN.
+ * config/microblaze/microblaze.h: Add TARGET_ENDIAN_DEFAULT and
+ add to TARGET_DEFAULT flags.
Expand ASM_SPEC and LINK_SPEC.
- Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN
- * config/microblaze/microblaze.md: Update extendsidi2 and movdi_internal
- instructions to use low-order / high-order reg print_operands
- * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
- options and inversemask / mask of LITTLE_ENDIAN
- * config/microblaze/t-microblaze: Expand multilib options to include mlittle-
- endian (le) and update exceptions patterns
-
+ Update BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
+ * config/microblaze/microblaze.md: Update extendsidi2 and
+ movdi_internal instructions to use low-order / high-order reg
+ print_operands.
+ * config/microblaze/microblaze.opt: Add mbig-endian and mlittle-endian
+ options and inversemask / mask of LITTLE_ENDIAN.
+ * config/microblaze/t-microblaze: Expand multilib options to
+ include mlittle-endian (le) and update exceptions patterns.
+
2013-02-08 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/56195
diff --git a/gcc/config/i386/gnu-user.h b/gcc/config/i386/gnu-user.h
index 88f5f37..c93d975 100644
--- a/gcc/config/i386/gnu-user.h
+++ b/gcc/config/i386/gnu-user.h
@@ -154,7 +154,11 @@ along with GCC; see the file COPYING3. If not see
/* i386 glibc provides __stack_chk_guard in %gs:0x14. */
#define TARGET_THREAD_SSP_OFFSET 0x14
-/* We steal the last transactional memory word. */
+/* We only build the -fsplit-stack support in libgcc if the
+ assembler has full support for the CFI directives. */
+#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE
#define TARGET_CAN_SPLIT_STACK
+#endif
+/* We steal the last transactional memory word. */
#define TARGET_THREAD_SPLIT_STACK_OFFSET 0x30
#endif
diff --git a/gcc/config/i386/gnu-user64.h b/gcc/config/i386/gnu-user64.h
index 2963db08..952bb5b 100644
--- a/gcc/config/i386/gnu-user64.h
+++ b/gcc/config/i386/gnu-user64.h
@@ -85,8 +85,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define TARGET_THREAD_SSP_OFFSET \
(TARGET_64BIT ? (TARGET_X32 ? 0x18 : 0x28) : 0x14)
-/* We steal the last transactional memory word. */
+/* We only build the -fsplit-stack support in libgcc if the
+ assembler has full support for the CFI directives. */
+#if HAVE_GAS_CFI_PERSONALITY_DIRECTIVE
#define TARGET_CAN_SPLIT_STACK
+#endif
+/* We steal the last transactional memory word. */
#define TARGET_THREAD_SPLIT_STACK_OFFSET \
(TARGET_64BIT ? (TARGET_X32 ? 0x40 : 0x70) : 0x30)
#endif