[rfc]: Replace current_gdbarch in hppa

Ulrich Weigand uweigand@de.ibm.com
Fri Feb 15 18:39:00 GMT 2008


Markus Deuling wrote:

>     * hppa-tdep.h (find_global_pointer): Add gdbarch as parameter.
> 
>     * hppa-hpux-tdep.c (hppa32_hpux_find_global_pointer): Likewise. Replace
>     current_gdbarch by gdbarch.
>     (hppa64_hpux_find_global_pointer): Likewise.
>     * hppa-tdep.c (hppa_find_global_pointer): Likewise.
>     (hppa32_push_dummy_call, hppa64_push_dummy_call): Update call for
>     find_global_pointer.
> 
>     * hppabsd-tdep.c (hppabsd_find_global_pointer): Add gdbarch as
>     parameter.
>     * hppa-linux-tdep.c (hppa_linux_find_global_pointer): Likewise.
> 
>     * hppa-linux-nat.c (hppa_linux_register_addr): Add gdbarch as parameter.
>     (fetch_register, store_register): Update call for
>     hppa_linux_register_addr.
> 
>     * hppa-hpux-tdep.c (hppa_hpux_sr_for_addr): Add gdbarch as parameter and
>     replace current_gdbarch by gdbarch.    
>     (hppa_hpux_push_dummy_code): Update call for hppa_hpux_sr_for_addr.

Most of these are OK, except:


> diff -urpN src/gdb/hppa-linux-nat.c dev/gdb/hppa-linux-nat.c
> --- src/gdb/hppa-linux-nat.c	2008-01-01 23:53:10.000000000 +0100
> +++ dev/gdb/hppa-linux-nat.c	2008-02-15 06:52:13.000000000 +0100
> @@ -149,11 +149,12 @@ static const int u_offsets[] =
>    };
>  
>  static CORE_ADDR
> -hppa_linux_register_addr (int regno, CORE_ADDR blockend)
> +hppa_linux_register_addr (struct gdbarch *gdbarch, int regno,
> +			  CORE_ADDR blockend)
>  {
>    CORE_ADDR addr;
>  
> -  if ((unsigned) regno >= gdbarch_num_regs (current_gdbarch))
> +  if ((unsigned) regno >= gdbarch_num_regs (gdbarch))
>      error (_("Invalid register number %d."), regno);
>  
>    if (u_offsets[regno] == -1)

This is really the wrong check.  It should really just verify that
no out-of-bounds access to u_offsets happens, so the line should 
just be something like:

   if ((unsigned) regno >= ARRAY_SIZE (u_offsets))


Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com



More information about the Gdb-patches mailing list