libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [libunwind] unwinding through dynamically modified code?


From: David Mosberger
Subject: Re: [libunwind] unwinding through dynamically modified code?
Date: Thu, 25 Mar 2004 14:10:22 -0800

>>>>> On Thu, 25 Mar 2004 15:34:41 -0600 (CST), Todd L Miller <address@hidden> 
>>>>> said:

  >> This looks wrong: the "when" field must be set to the index of
  >> the instruction it is describing.

  Todd>         Just out of curiosity, why not just use which
  Todd> instruction in the region it is?

Isn't that what it is?  It's just a sequential numbering of _all_ the
IA-64 instructions in the region (while ignoring the fact that MLX
bundles really have only 2, not 3 instructions).

  >> Not just superfluous, but actually illegal.  Libunwind would
  >> complain at the time this descriptor was interpreted (for
  >> performance-reasons, no checking is done at the time
  >> _U_dyn_register() is called).

  Todd>         So what do I say about changing the GP?  Anything?

The "gp" member in the "unw_dyn_info_t" structure needs to be set to
the value that the GP should have in your procedure.

  >> If I understand you correctly, label_state and copy_state would
  >> be what you'd want to use here.

  Todd>         Can I copy_state from static unwind information

No, copy_state/label_state only work within a procedure.  The unwinder
simply processes them in linear order when parsing the descriptors for
a procedure.  It doesn't retain any info about _other_ procedures.

        --david


reply via email to

[Prev in Thread] Current Thread [Next in Thread]