> You set a breakpoint at the return address assuming that you
> will reach it when you finish the function.
OK, in this case you'll need to adjust like in the EH unwinder.
--
Eric Botcazou
Eric Botcazou wrote:
Debugging does.
I fail to see why, at least on SPARC, %o7 should be good enough.
You set a breakpoint at the return address assuming that you
will reach it when you finish the function. On Sparc, if you
set it at the address in %o7, you will be setting the breakpoint
at
> Indeed, I have patch gdb to work around the inaccurate CIE.
Great.
> No, they don't. Apparently, EH frame unwinding doesn't need
> correct CIE data.
Of course EH unwinding needs strictly correct CFI, simply not
everything is in the CIE.
> Debugging does.
I fail to see why, at least on SPARC
Eric Botcazou wrote:
Not by GDB.
Then an approach could be to patch the GDB unwinder to make it follow the GCC
conventions.
The correct approach would be to have gcc generate correct DWARF data.
Indeed, I have patch gdb to work around the inaccurate CIE.
You seem to be under the misappreh
> Not by GDB.
Then an approach could be to patch the GDB unwinder to make it follow the GCC
conventions.
> You seem to be under the misapprehension that I'm talking about exception
> handling in gcc. I'm not.
Well, GCC doesn't generate 2 flavor of CIEs (on SPARC) so considerations that
apply
Eric Botcazou wrote:
The CIE says what the RA column is, but there is no initial value
location expression generated for the return address. That means
that on entry to a function, the CIE cannot be used to tell what
the return address is.
I'm not sure I understand. The RA column is the colum
> The CIE says what the RA column is, but there is no initial value
> location expression generated for the return address. That means
> that on entry to a function, the CIE cannot be used to tell what
> the return address is.
I'm not sure I understand. The RA column is the column in the table w
Eric Botcazou wrote:
When I looked at what sparc-gcc was generating for the return
address column, I discovered that it didn't generate anything.
At least it generates the RA column:
The CIE says what the RA column is, but there is no initial value
location expression generated for the return
> When I looked at what sparc-gcc was generating for the return
> address column, I discovered that it didn't generate anything.
At least it generates the RA column:
.section".eh_frame",#alloc,#write
.LLframe1:
.uaword .LLECIE1-.LLSCIE1 ! Length of Common Information
I'm working with a target that has a call instruction
similar to SPARC: the address of the calling instruction
is saved in a link register (lr). The actual return address
is, like SPARC, lr+8.
It seemed to me that the right thing would be to have the
initial value of the "return address" column
10 matches
Mail list logo