This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] Fix small problems in rs6000-tdep.c:skip_prologue()


> In this case, the stX 0,N(31) is spilling an argument, even though r0
> is not an argument register.  ('evstdd' is an E500 instruction that
> is definitely an argument spill.)

Dough!

> Clearly, both your function and mine need to go into the test suite...

I can add a new testcase in Ada for the prologue we saw.

> What if we did something like this?  It'd need to be combined with the 
> rest of your change, I'm just sketching:

Attached is a revised version incorporating your changes. Could you
give it a shot against your function, and let me know if it works for
you? It works for me, and doesn't introduce any regression on our
powerpc-aix-5.1 machine.

2004-04-16  Joel Brobecker  <brobecker@gnat.com>

        * rs6000-tdep.c (store_param_on_stack_p): New function,
        an improved version of some code extracted from skip_prologue().
        (skip_prologue): Use store_param_on_stack_p() to detect
        instructions saving a parameter on the stack. Detect when r0
        is used to save a parameter.
        Do not mark "li rx, SIMM" instructions as part of the prologue,
        unless the following instruction is also part of the prologue.
        
I'll followup with a testcase soon.

Thanks,
-- 
Joel

Attachment: rs6000-tdep.c.diff
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]