aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerome Lambourg <lambourg@adacore.com>2017-06-27 13:47:26 +0000
committerOlivier Hainque <hainque@gcc.gnu.org>2017-06-27 13:47:26 +0000
commit580536aa23064b9deb124bb70c9327c865611b27 (patch)
treec7602e66ff552ae7b5f88cddf8b4e926c22f3a80
parent50567938f93131f62346523bdb5a7d5fd251f42e (diff)
downloadgcc-580536aa23064b9deb124bb70c9327c865611b27.zip
gcc-580536aa23064b9deb124bb70c9327c865611b27.tar.gz
gcc-580536aa23064b9deb124bb70c9327c865611b27.tar.bz2
vxworks.h (DBX_REGISTER_NUMBER): Pick distinct map for 64bits.
2017-06-27 Jerome Lambourg <lambourg@adacore.com> Olivier Hainque <hainque@adacore.com> * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Pick distinct map for 64bits. (TARGET_OS_CPP_BUILTINS): builtin_define CPU to X86_64 for 64bit targets. Pick a default if no particular attempt applied. (STACK_CHECK_PROTECT): Double for 64bit targets, which have larger contexts. Co-Authored-By: Olivier Hainque <hainque@adacore.com> From-SVN: r249690
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/i386/vxworks.h16
2 files changed, 23 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1eb860c..f52fde4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,14 @@
2017-06-27 Jerome Lambourg <lambourg@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Pick distinct
+ map for 64bits.
+ (TARGET_OS_CPP_BUILTINS): builtin_define CPU to X86_64 for 64bit
+ targets. Pick a default if no particular attempt applied.
+ (STACK_CHECK_PROTECT): Double for 64bit targets, which have
+ larger contexts.
+
+2017-06-27 Jerome Lambourg <lambourg@adacore.com>
* config.gcc (i*86-wrs-vxworks7): Handle new acceptable triplet.
(x86_64-wrs-vxworks7): Likewise.
diff --git a/gcc/config/i386/vxworks.h b/gcc/config/i386/vxworks.h
index f5d12af..c851e04 100644
--- a/gcc/config/i386/vxworks.h
+++ b/gcc/config/i386/vxworks.h
@@ -34,7 +34,8 @@ along with GCC; see the file COPYING3. If not see
the SVR4 numbering. */
#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n) svr4_dbx_register_map[n]
+#define DBX_REGISTER_NUMBER(n) \
+ (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
#define TARGET_OS_CPP_BUILTINS() \
do \
@@ -59,7 +60,11 @@ along with GCC; see the file COPYING3. If not see
builtin_define ("CPU=PENTIUM4"); \
builtin_define ("CPU_VARIANT=PENTIUM4"); \
} \
- } \
+ else if (TARGET_64BIT) \
+ builtin_define ("CPU=X86_64"); \
+ else \
+ builtin_define ("CPU=I80386"); \
+ } \
while (0)
#undef CPP_SPEC
@@ -91,5 +96,10 @@ along with GCC; see the file COPYING3. If not see
#define STACK_CHECK_STATIC_BUILTIN 1
/* This platform supports the probing method of stack checking (RTP mode).
- 8K is reserved in the stack to propagate exceptions in case of overflow. */
+ 8K is reserved in the stack to propagate exceptions in case of overflow.
+ On 64-bit targets, we double that size. */
+#if TARGET_64BIT_DEFAULT
+#define STACK_CHECK_PROTECT 16384
+#else
#define STACK_CHECK_PROTECT 8192
+#endif