This is the mail archive of the gdb@sourceware.org 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: Stepping over longjmp presumably broken for glibc


On Mon, Dec 26, 2005 at 08:24:30PM -0800, Jim Blandy wrote:
> Here's my (non-qualifying because it relies on help from the runtime)
> idea: can't we use Dwarf CFI here?  That is, treat longjmp as a weird
> function whose CFI indicates that it unwinds to the setjmp.  The
> DW_CFA_val_expression operator, new in the released Dwarf 3 spec,
> allows CFI to use an arbitrary expression to compute the saved value
> of the register; we can apply that to the return address column just
> as well as anything else.  In the case Daniel described, the
> expression would use DW_OP_xor (probably the first use ever of that
> opcode!).

How would you distinguish a longjmp with CFI that returns to caller
from a longjmp with CFI that returns to setjmp?


-- 
Daniel Jacobowitz
CodeSourcery, LLC


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