Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX 11i Version 3 Release Notes: HP 9000 and HP Integrity Servers > Chapter 10 Libraries and Programming

Unwind Library (libunwind)

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

The Unwind Library, libunwind, provides basic stack unwind functionality for HP-UX applications on Itanium®-based servers, including APIs for printing a stack trace, APIs for unwinding the stack programmatically, and APIs to support the C++ exception handling mechanism.

There are two sets of APIs for unwinding the stack programmatically:

  • the original “classic” APIs _UNW_createContext(3X), _UNW_step(3X), et al.,

  • and the new “unwind express” APIs uwx_init(3X), uwx_step(3X), et al.

Summary of Change

What’s New for Customers Migrating from HP-UX 11i v1 September 2005?

The Unwind Library, libunwind, is for Itanium®-based systems only.

What’s New for Customers Migrating from HP-UX 11i v2 June 2006?

The current version of libunwind is 1.49.

The performance of the unwind express APIs has been improved substantially, as much as 40% compared to version 1.42, which shipped with HP-UX 11i v2. The C++ exception handling mechanism uses these APIs, so there will also be a performance improvement in the processing of thrown exceptions. The actual performance benefit observed in a real application will depend on the relative amount of time spent in exception handling.

The U_STACK_TRACE(3X) and _UNW_STACK_TRACE(3X) APIs have been enhanced to include source file and line number information, when symbolic debug information is available, in the generated stack traces. When symbolic debug information is available, the generated stack traces will also show inlined calls.

The following new APIs have been added to the unwind express portion of the library:

Impact

You will not be affected unless you wish to take advantage of the new APIs for accessing source file and line number information.

Compatibility

The format of the output from U_STACK_TRACE(3X) and _UNW_STACK_TRACE(3X) has changed. The information written for each stack frame will include an extra insertion of the form “at file_name:line” (preceding the module name) if symbolic debug information is available for that function. If symbolic debug information is available to identify inlined calls, an extra line will be written for each inlined call; these extra lines do not have a frame index or module name, and show “(inlined)” in place of an IP value. The output from these APIs is intended for humans, and the exact format is subject to change in future releases. Any scripts that depend on this output format are likely to be affected.

There are no source or makefile compatibility issues for the programmatic interfaces.

Performance

Raw unwind performance using the unwind express APIs has improved by 40%.

Documentation

Manpages:

Obsolescence

Not applicable.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2006-2007 Hewlett-Packard Development Company, L.P.