summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2013-02-08 18:08:12 +0000
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>2013-02-08 18:08:12 +0000
commita3c139e5d94d7b0e1f86b05345bc765056e47ba6 (patch)
tree88ed51f8c917fb9e6bade85d7eada5fc2e2545a2
parente975e3457095a7c2f014c702085fc5a73bf3b92e (diff)
downloadgcc-a3c139e5d94d7b0e1f86b05345bc765056e47ba6.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195895 138bc75d-0d04-0410-961f-82ee72b054a4
-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 513a79405f3..c0e9efb81da 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 88f5f37ca13..c93d9757d50 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 2963db08dcd..952bb5b475c 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