From 846a440c9cdee1a193f6ea7e843b6eaeebe41c4d Mon Sep 17 00:00:00 2001
From: Mark Kettenis <kettenis@gnu.org>
Date: Mon, 30 Jul 2001 10:17:46 +0000
Subject: [PATCH] * config/i386/tm-i386.h (STAB_REG_TO_REGNUM,
 SDB_REG_TO_REGNUM, DWARF_REG_TO_REGNUM, DWARF2_REG_TO_REGNUM): New defines.
 (i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum): New prototypes. *
 config/i386/tm-fbsd.h, config/i386/tm-i386gnu.h, config/i386/tm-linux.h
 (STAB_REG_TO_REGNUM): Redefine to call i386_dwarf_reg_to_regnum. *
 i386-tdep.c (i386_stab_reg_to_regnum, i386_dwarf_reg_to_regnum): New
 functions.

---
 gdb/config/i386/tm-linux.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/gdb/config/i386/tm-linux.h b/gdb/config/i386/tm-linux.h
index acfecf58341..77eb0c681cc 100644
--- a/gdb/config/i386/tm-linux.h
+++ b/gdb/config/i386/tm-linux.h
@@ -31,6 +31,13 @@
 #include "i386/tm-i386.h"
 #include "tm-linux.h"
 
+/* Linux/ELF uses stabs-in-ELF with the DWARF register numbering
+   scheme by default, so we must redefine STAB_REG_TO_REGNUM.  This
+   messes up the floating-point registers for a.out, but there is not
+   much we can do about that.  */
+#undef STAB_REG_TO_REGNUM
+#define STAB_REG_TO_REGNUM(reg) i386_dwarf_reg_to_regnum ((reg))
+
 /* Use target_specific function to define link map offsets.  */
 extern struct link_map_offsets *i386_linux_svr4_fetch_link_map_offsets (void);
 #define SVR4_FETCH_LINK_MAP_OFFSETS() i386_linux_svr4_fetch_link_map_offsets ()