libunwind 1.8.1

libunwind is a portable and efficient C API for determining the current call chain of ELF program threads of execution and for resuming execution at any point in that call chain. The API supports both local (same process) and remote (other process) operation. The API ise useful in a number of applications, including but not limited to the following. Program introspection: Either for error messages showing a back trace of the call chain leading to a problem or for performance monitoring and analysis. Debugging: Whether the debugging and analysis of the call chain of a remote program or the post-mortem analysis of a coredump. Language runtime exception handling libunwind: optionally provides an alternative implementation of the Itanium exception handling ABI used by many popular toolchains. Alternative setjmp()/longjmp(): libunwind optionally provides an alternative implementation of the setjmp()/longjmp() functionality of the C standard library.

Tags debugging toolchain development library c assembly
License MITL
State stable

Recent Releases

1.8.123 Feb 2024 06:05 minor feature: lt;p gt;Small release of libunwind 1.8. lt;/p gt;. lt;p gt;One of the functional changes is that the testsuite is now installed with a lt;code gt;make install lt;/code gt;, which may affect downstream packagers. By default these executables are installed in lt;code gt; libexecdir /libunwind lt;/code gt; where lt;code gt; libexecdir lt;/code gt; defaults to lt;code gt; pre /libexec lt;/code gt;, but all this can be set explicitly though arguments to lt;code gt;configure lt;/code gt;. lt;/p gt;. lt;h2 gt;What's Changed lt;/h2 gt;. lt;ul gt;. lt;li gt; lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2097459071" data-permission-text="Title is private" data-url="https://github.com/libunwind/libunwind//713" data-hovercard-type="" data-hovercard-url="/libunwind/libunwind//713/hovercard" href="https://github.com/libunwind/libunwind//713" gt;#713 lt;/a gt; by lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/cshung/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/cshung" gt;@cshung lt;/a gt; in lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2112597060" data-permission-text="Title is private" data-url="https://github.com/libunwind/libunwind//717" data-hovercard-type="pull_request" data-hovercard-url="/libunwind/libunwind/pull/717/hovercard" href="https://github.com/libunwind/libunwind/pull/717" gt;#717 lt;/a gt; lt;/li gt;. lt;li gt;Add do-release script by lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/bregma/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/bregma" gt;@bregma lt;/a gt; in lt;a class="-link js--link" data-error-text="Failed to load title" data-id="2145091373" data-permission-text="Title is private" data-url="https://github.com/libunwind/libunwind//725" data-hovercard-type="pull_reque
1.8.030 Jan 2024 11:18 minor feature: What's Changed Improve unwinding through a bad function pointer on x86_64. by @EmployedRussian in #449 Fix single-bit-bitfield-constant-conversion warning by @am11 in #457 Remove mailing list information by @bkmgit in #463 Fix UMRs indicated by valgrind (x86_64) by @peadar in #454 Remove unneeded check by @bkmgit in #466 fix byte_order_is_valid function logic by @he7850 in #445 Use size_t to match R.H.S by @am11 in #455 Move get_proc_info_in_range under dwarf/ by @am11 in #460 Bump actions/checkout@v2 to @V3 by @bregma in #469 dwarf_find_unwind_table: Find load_base correctly when current segment does not start at segbase by @BobIsOnFire in #456 Add introspection for march=armv8-a+sve by @am11 in #471 Add refined read-only permissions to CI actions by @bregma in #476 Conditionally handle differing struct fpreg layout on FreeBSD armv7 by @rcmcdonald91 in #478 src/Gtrace: remove unguarded print() calls by @rossburton in #483 Linux: Make get_elf_image guaranteed AS-safe by @bertwesarg in #485 Rework CI-unix.yml to add clang by @bregma in #472 Provide syscall wrappers for mmap and munmap by @bertwesarg in #486 Allow to use a custom dl_iterate_phdr implementation by @bertwesarg in #490 aarch64: unw_step() validates address before calling dwarf_get by @he7850 in #494 doc: Add manpage for unw_set_iterate_phdr_function by @bertwesarg in #497 Fix unused variable warning by @michalbiesek in #498 Provide AS-safe allocator to LZMA by @bertwesarg in #484 Rework register load in aarch64_local_resume() by @bregma in #503 Add manpage for libunwind-coredump by @bregma in #496 Make Debug() signal-safe by @bregma in #506 Handle edge case in aarch64 tdep_trace() by @bregma in #504 Update to rc2 by @bkmgit in #468 don't override sp on arm and mips64 by @kasperk81 in #481 Fix NO_PTRACE_TEST conditions by @bregma in #500 Skip test-ptrace tests if ptrace() returns an err