[patch] Backtrace prints wrong argument value
Daniel Jacobowitz
drow@false.org
Sun Sep 16 19:45:00 GMT 2007
On Thu, Sep 13, 2007 at 11:46:05AM -0300, Luis Machado wrote:
> :ADDPATCH PowerPC-64:
>
> Hi,
>
> Bringing back this topic, i've written a patch to address this issue on
> ppc's side, providing a function to specify call-clobbered registers
> based on the ABI, similar to the S390's.
:REVIEWMAIL:
I guess this works, then? That's great.
> 2007-09-13 Luis Machado <luisgpm@br.ibm.com>
>
> * rs6000-tdep.c (ppc_dwarf2_frame_init_reg): New function.
> (rs6000_gdbarch_init): Install ppc_dwarf2_frame_init_reg as
> default dwarf2_frame_set_init_reg function.
ChangeLog entries should be tab indented - you probably know this and
your mailer ate the tabs? Indentation all over your patch is wrong,
too.
> +/* DWARF-2 frame support. Used to handle the detection of
> + clobbered registers during function calls. */
Two spaces after periods, please. More occurances below.
> + static void
No leading space there.
> +ppc_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
> + struct dwarf2_frame_state_reg *reg,
> + struct frame_info *next_frame)
Those lines don't line up. More occurances below.
> + /* Call-saved GP registers. */
> + if ((regnum >= (tdep->ppc_gp0_regnum + 14)
> + && regnum <= (tdep->ppc_gp0_regnum + 31))
> + || (regnum == (tdep->ppc_gp0_regnum + 1)))
> + reg->how = DWARF2_FRAME_REG_SAME_VALUE;
You don't need the parentheses around (tdep->ppc_gp0_regnum + 14), et
cetera; >= and <= are very low precedence.
> @@ -3790,6 +3852,10 @@
> tdep->ppc_vr0_regnum = 71;
> tdep->ppc_vrsave_regnum = 104;
> }
> +
> + /* Frame handling. */
> + dwarf2_frame_set_init_reg (gdbarch, ppc_dwarf2_frame_init_reg);
> +
> /* Fall Thru */
> case GDB_OSABI_NETBSD_AOUT:
> case GDB_OSABI_NETBSD_ELF:
I don't think this should be GNU/Linux specific, so it should probably
be elsewhere (before gdbarch_init_osabi).
--
Daniel Jacobowitz
CodeSourcery
More information about the Gdb-patches
mailing list