x86-vx7r2 needs svr4_dbx_register_map, but the default in i386/i386.h
was dbx_register_map, partially swapping ebp and esp in unwind info.
i386/vxworks.h had a correct overrider, but it was conditional for
vxworks < 7. This patch reenables the overrider unconditionally.
Tested on x86_64-linux-gnu with a cross to x86-vx7r2. Ok to install?
for gcc/ChangeLog
* config/i386/vxworks.h (DBX_REGISTER_NUMBER): Make it
unconditional.
---
gcc/config/i386/vxworks.h | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/gcc/config/i386/vxworks.h b/gcc/config/i386/vxworks.h
index b3ca224fa1071..ebda7d9d26a34 100644
--- a/gcc/config/i386/vxworks.h
+++ b/gcc/config/i386/vxworks.h
@@ -37,13 +37,6 @@ along with GCC; see the file COPYING3. If not see
#define TARGET_SUBTARGET_DEFAULT \
(MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_VECT8_RETURNS)
-/* Provide our target specific DBX_REGISTER_NUMBER. VxWorks relies on
- the SVR4 numbering. */
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n) \
- (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
-
#undef PTRDIFF_TYPE
#define PTRDIFF_TYPE (TARGET_LP64 ? "long int" : "int")
@@ -61,6 +54,13 @@ along with GCC; see the file COPYING3. If not see
#endif
+/* Provide our target specific DBX_REGISTER_NUMBER. VxWorks relies on
+ the SVR4 numbering. */
+
+#undef DBX_REGISTER_NUMBER
+#define DBX_REGISTER_NUMBER(n) \
+ (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
+
/* CPU macro definitions, ordered to account for VxWorks 7 not
supporting CPUs older than PENTIUM4 since SR0650. */
--
Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
Disinformation flourishes because many people care deeply about injustice
but very few check the facts. Ask me about <https://stallmansupport.org>