libunwind-devel
[Top][All Lists]
Advanced

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

[libunwind] unwinding undescribed frames


From: Mark Young
Subject: [libunwind] unwinding undescribed frames
Date: Tue, 15 Jan 2002 14:31:31 -0800
User-agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:0.9.2) Gecko/20011002 Netscape6/6.1

Our digital simulation application generates and executes code dynamically. This code is called from and makes calls to other C functions. We have need to unwind down to stack frames of our own creation which do not have unwind descriptors and also to unwind through relocated stack and register backing store. Most of our needs appear to be met by the proposed unw_init_remote routine with accessor functions identified by the unw_accessors_t structure.

It would help if the acquire_unwind_info accessor function could return some specific error code to terminate unwinding and cause a graceful and silent return from unw_step, preferably passing along that same error code. In our case this would be used when the ip passed to acquire_unwind_info falls in our dynamically generated code. We can handle unwinding through our undescribed frames and then restart the unwinder if a C function frame is reached. It would be nice not to have to use setjmp/longjmp to exit the unwinder as is presently necessary in the HP-UX ia64 unwind library implementation.

Also I suggest that the application-specific data arg in the unw_accessors_t structure be passed to the acquire_unwind_info and release_unwind_info functions as it is for the access_mem, access_reg, access_fpreg, and resume functions. Wrapper functions could be added if necessary to drop the argument to call existing external routines.

Thanks!
--Mark

--
Mark Young            address@hidden     Tel: 503.526.1661
Staff Engineer         www.model.com      Fax: 503.526.5473
Model Technology, Inc.
10450 SW Nimbus Avenue/Bldg RB, Portland, OR 97223-4347 USA




reply via email to

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