A portable and efficient C programming interface (API) to determine the call-chain of a program http://www.nongnu.org/libunwind/
Go to file
2024-01-06 05:59:32 +01:00
libunwind-1.2.1-arm-fix-build-failure-due-to-asm.patch arm: added patch to fix build failure with asm (Mesa 17) [release 1.2.1-2mamba;Sat Dec 02 2017] 2024-01-06 05:59:32 +01:00
libunwind.spec automatic version update by autodist [release 1.3.1-1mamba;Mon Jan 28 2019] 2024-01-06 05:59:32 +01:00
README.md automatic version update by autodist [release 1.1-1mamba;Tue Oct 23 2012] 2024-01-06 05:59:32 +01:00

libunwind

libunwind implements a portable and efficient C programming interface (API) to determine the call-chain of a program. The API additionally provides the means to manipulate the preserved (callee-saved) state of each call-frame and to resume execution at any point in the call-chain (non-local goto). The API supports both local (same-process) and remote (across-process) operation. As such, the API is useful in a number of applications. Some examples include:

  • exception handling The libunwind API makes it trivial to implement the stack-manipulation aspects of exception handling.
  • debuggers The libunwind API makes it trivial for debuggers to generate the call-chain (backtrace) of the threads in a running program.
  • introspection It is often useful for a running thread to determine its call-chain. For example, this is useful to display error messages (to show how the error came about) and for performance monitoring/analysis.
  • efficient setjmp() With libunwind, it is possible to implement an extremely efficient version of setjmp(). Effectively, the only context that needs to be saved consists of the stack-pointer(s).