Remove sp_regnum_from_eax and pc_regnum_from_eax
authorH.J. Lu <hjl.tools@gmail.com>
Mon, 15 Oct 2012 20:37:39 +0000 (20:37 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Mon, 15 Oct 2012 20:37:39 +0000 (20:37 +0000)
PR backtrace/14646
PR gdb/14647
* i386-tdep.h (gdbarch_tdep): Remove sp_regnum_from_eax and
pc_regnum_from_eax.
* i386-tdep.c (i386_gdbarch_init): Don't use sp_regnum_from_eax
nor pc_regnum_from_eax.
* amd64-tdep.c (amd64_x32_init_abi): Don't set sp_regnum_from_eax
nor pc_regnum_from_eax.

gdb/ChangeLog
gdb/amd64-tdep.c
gdb/i386-tdep.c
gdb/i386-tdep.h

index 170c2e72212953860c9fd7978c6fc0622a324099..a2c457ef949d1b982db8df6bfd0dade7dece8dff 100644 (file)
@@ -1,3 +1,14 @@
+2012-10-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR backtrace/14646
+       PR gdb/14647
+       * i386-tdep.h (gdbarch_tdep): Remove sp_regnum_from_eax and
+       pc_regnum_from_eax.
+       * i386-tdep.c (i386_gdbarch_init): Don't use sp_regnum_from_eax
+       nor pc_regnum_from_eax.
+       * amd64-tdep.c (amd64_x32_init_abi): Don't set sp_regnum_from_eax
+       nor pc_regnum_from_eax.
+
 2012-10-15  Jan Kratochvil  <jan.kratochvil@redhat.com>
 
        Fix entry values resolving in inlined frames.
index 8c5b6cc50797f37b0fded73a5277d0b35d854a8e..9cee464bc6901900ae9413781cfe538e5ddf039a 100644 (file)
@@ -2943,9 +2943,6 @@ amd64_x32_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
     tdesc = tdesc_x32;
   tdep->tdesc = tdesc;
 
-  tdep->sp_regnum_from_eax = AMD64_RSP_REGNUM;
-  tdep->pc_regnum_from_eax = AMD64_RIP_REGNUM;
-
   tdep->num_dword_regs = 17;
   set_tdesc_pseudo_register_type (gdbarch, amd64_x32_pseudo_register_type);
 
index 84e9794ebbc17485f22f42615635682bbe4e624d..ddb20aa444bd8898e3c743025b1d7d6e966053a9 100644 (file)
@@ -7705,9 +7705,6 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   tdep->num_mmx_regs = 8;
   tdep->num_ymm_regs = 0;
 
-  tdep->sp_regnum_from_eax = -1;
-  tdep->pc_regnum_from_eax = -1;
-
   tdesc_data = tdesc_data_alloc ();
 
   set_gdbarch_relocate_instruction (gdbarch, i386_relocate_instruction);
@@ -7752,14 +7749,6 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
       /* Support dword pseudo-register if it hasn't been disabled.  */
       tdep->eax_regnum = ymm0_regnum;
       ymm0_regnum += tdep->num_dword_regs;
-      if (tdep->sp_regnum_from_eax != -1)
-       set_gdbarch_sp_regnum (gdbarch,
-                              (tdep->eax_regnum
-                               + tdep->sp_regnum_from_eax));
-      if (tdep->pc_regnum_from_eax != -1)
-       set_gdbarch_pc_regnum (gdbarch,
-                              (tdep->eax_regnum
-                               + tdep->pc_regnum_from_eax));
     }
   else
     tdep->eax_regnum = -1;
index 76afdceb3153a21994fbf9d342bea5ec7bd08b33..5f233f590fe61a85f15e0a8ff14af19d88d80be5 100644 (file)
@@ -149,14 +149,6 @@ struct gdbarch_tdep
      of pseudo dword register support.  */
   int eax_regnum;
 
-  /* Register number for SP, relative to %eax.  Set this to -1 to
-     indicate the absence of pseudo SP register support.  */
-  int sp_regnum_from_eax;
-
-  /* Register number for PC, relative to %eax.  Set this to -1 to
-     indicate the absence of pseudo PC register support.  */
-  int pc_regnum_from_eax;
-
   /* Number of core registers.  */
   int num_core_regs;