]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
2007-10-08 Markus Deuling <deuling@de.ibm.com>
authorUlrich Weigand <uweigand@de.ibm.com>
Mon, 8 Oct 2007 12:47:09 +0000 (12:47 +0000)
committerUlrich Weigand <uweigand@de.ibm.com>
Mon, 8 Oct 2007 12:47:09 +0000 (12:47 +0000)
* alpha-tdep.c (alpha_register_reggroup_p): Replace current_gdbarch by
gdbarch.
* alpha-linux-nat.c (alpha_linux_register_u_offset): Likewise.
(alpha_sigtramp_frame_unwind_cache, alpha_sigtramp_frame_this_id)
(alpha_sigtramp_frame_sniffer, alpha_next_pc): Use get_regcache_arch or
get_frame_arch to get at the current architecture by regcache or by
frame, respectively.
* alpha-nat.c (fetch_osf_core_registers): Likewise.

gdb/ChangeLog
gdb/alpha-linux-nat.c
gdb/alpha-nat.c
gdb/alpha-tdep.c

index 0350bbe5baa13da3fe8ba8f2a1feb80769f407b1..b50e151a23681cc340895644324a932b5fc4f84d 100644 (file)
@@ -1,3 +1,14 @@
+2007-10-08  Markus Deuling  <deuling@de.ibm.com>
+
+       * alpha-tdep.c (alpha_register_reggroup_p): Replace current_gdbarch by
+       gdbarch.
+       * alpha-linux-nat.c (alpha_linux_register_u_offset): Likewise.
+       (alpha_sigtramp_frame_unwind_cache, alpha_sigtramp_frame_this_id)
+       (alpha_sigtramp_frame_sniffer, alpha_next_pc): Use get_regcache_arch or
+       get_frame_arch to get at the current architecture by regcache or by 
+       frame, respectively.
+       * alpha-nat.c (fetch_osf_core_registers): Likewise.
+
 2007-10-08  Markus Deuling  <deuling@de.ibm.com>
 
        * dwarf2-frame.c (read_reg, execute_cfa_program, dwarf2_frame_cache)
index 9d9dd97f16fe7ca781a0e81062894b8ead625756..92e0c46afdda77c18c354368a0f93a379e98374b 100644 (file)
@@ -84,14 +84,14 @@ fill_fpregset (const struct regcache *regcache,
 static CORE_ADDR
 alpha_linux_register_u_offset (struct gdbarch *gdbarch, int regno, int store_p)
 {
-  if (regno == gdbarch_pc_regnum (current_gdbarch))
+  if (regno == gdbarch_pc_regnum (gdbarch))
     return PC;
   if (regno == ALPHA_UNIQUE_REGNUM)
     return ALPHA_UNIQUE_PTRACE_ADDR;
-  if (regno < gdbarch_fp0_regnum (current_gdbarch))
+  if (regno < gdbarch_fp0_regnum (gdbarch))
     return GPR_BASE + regno;
   else
-    return FPR_BASE + regno - gdbarch_fp0_regnum (current_gdbarch);
+    return FPR_BASE + regno - gdbarch_fp0_regnum (gdbarch);
 }
 
 void _initialialize_alpha_linux_nat (void);
index 3ec16f21eb8eb221bd346d49b418a59f00c63020..a22945967dc95ad198c897424f76b509b87499f8 100644 (file)
@@ -49,6 +49,7 @@ fetch_osf_core_registers (struct regcache *regcache,
                          char *core_reg_sect, unsigned core_reg_size,
                          int which, CORE_ADDR reg_addr)
 {
+  struct gdbarch *gdbarch = get_regcache_arch (regcache);
   int regno;
   int addr;
   int bad_reg = -1;
@@ -87,7 +88,7 @@ fetch_osf_core_registers (struct regcache *regcache,
 
   for (regno = 0; regno < ALPHA_NUM_REGS; regno++)
     {
-      if (gdbarch_cannot_fetch_register (current_gdbarch, regno))
+      if (gdbarch_cannot_fetch_register (gdbarch, regno))
        {
          regcache_raw_supply (regcache, regno, NULL);
          continue;
@@ -112,7 +113,7 @@ fetch_osf_core_registers (struct regcache *regcache,
   if (bad_reg >= 0)
     {
       error (_("Register %s not found in core file."),
-            gdbarch_register_name (current_gdbarch, bad_reg));
+            gdbarch_register_name (gdbarch, bad_reg));
     }
 }
 
index e7d297dace21aea9fdc337e9c770082a1fbaa2e3..03fa331abf782b56d0a7c9c1d2c30dd0da08974b 100644 (file)
@@ -114,8 +114,8 @@ alpha_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
 {
   /* Filter out any registers eliminated, but whose regnum is 
      reserved for backward compatibility, e.g. the vfp.  */
-  if (gdbarch_register_name (current_gdbarch, regnum) == NULL
-      || *gdbarch_register_name (current_gdbarch, regnum) == '\0')
+  if (gdbarch_register_name (gdbarch, regnum) == NULL
+      || *gdbarch_register_name (gdbarch, regnum) == '\0')
     return 0;
 
   if (group == all_reggroup)
@@ -763,7 +763,7 @@ alpha_sigtramp_frame_unwind_cache (struct frame_info *next_frame,
   info = FRAME_OBSTACK_ZALLOC (struct alpha_sigtramp_unwind_cache);
   *this_prologue_cache = info;
 
-  tdep = gdbarch_tdep (current_gdbarch);
+  tdep = gdbarch_tdep (get_frame_arch (next_frame));
   info->sigcontext_addr = tdep->sigcontext_addr (next_frame);
 
   return info;
@@ -807,7 +807,7 @@ alpha_sigtramp_frame_this_id (struct frame_info *next_frame,
   /* If we have dynamic signal trampolines, find their start.
      If we do not, then we must assume there is a symbol record
      that can provide the start address.  */
-  tdep = gdbarch_tdep (current_gdbarch);
+  tdep = gdbarch_tdep (get_frame_arch (next_frame));
   if (tdep->dynamic_sigtramp_offset)
     {
       int offset;
@@ -880,6 +880,7 @@ static const struct frame_unwind alpha_sigtramp_frame_unwind = {
 static const struct frame_unwind *
 alpha_sigtramp_frame_sniffer (struct frame_info *next_frame)
 {
+  struct gdbarch *gdbarch = get_frame_arch (next_frame);
   CORE_ADDR pc = frame_pc_unwind (next_frame);
   char *name;
 
@@ -889,14 +890,14 @@ alpha_sigtramp_frame_sniffer (struct frame_info *next_frame)
 
   /* We shouldn't even bother to try if the OSABI didn't register a
      sigcontext_addr handler or pc_in_sigtramp hander.  */
-  if (gdbarch_tdep (current_gdbarch)->sigcontext_addr == NULL)
+  if (gdbarch_tdep (gdbarch)->sigcontext_addr == NULL)
     return NULL;
-  if (gdbarch_tdep (current_gdbarch)->pc_in_sigtramp == NULL)
+  if (gdbarch_tdep (gdbarch)->pc_in_sigtramp == NULL)
     return NULL;
 
   /* Otherwise we should be in a signal frame.  */
   find_pc_partial_function (pc, &name, NULL, NULL);
-  if (gdbarch_tdep (current_gdbarch)->pc_in_sigtramp (pc, name))
+  if (gdbarch_tdep (gdbarch)->pc_in_sigtramp (pc, name))
     return &alpha_sigtramp_frame_unwind;
 
   return NULL;
@@ -1441,7 +1442,7 @@ alpha_next_pc (struct frame_info *frame, CORE_ADDR pc)
           case 0x33:              /* FBLE */
           case 0x32:              /* FBLT */
           case 0x35:              /* FBNE */
-            regno += gdbarch_fp0_regnum (current_gdbarch);
+            regno += gdbarch_fp0_regnum (get_frame_arch (frame));
        }
       
       rav = get_frame_register_signed (frame, regno);