- libbacktrace: add notes about dl_iterate_phdr to README
- libbacktrace: better backtrace_print when no debug info
- libbacktrace: add cast to avoid warning
- libbacktrace: use __has_attribute for fallthrough
- libbacktrace: fix syntax of Windows registration functions
- libbacktrace: avoid -Wpointer-arith errors
- libbacktrace: update xcoff.c for base_address changes
The `getDebuggingInfo` function relies on `programCounters` being a
NULL terminated list. However, none of the usage actually adds NULL...
- In the path that passes `getProgramCounters` result into
`getDebuggingInfo`, no explicit 0 value is added to `result`.
In practice, there happens to be a 0 there very frequently,
but it is not guaranteed (`env MallocScribble=1`), and even
if it is not there the implementation often continues to work
when processing the extra garbage data, silencing the problem.
- In the path from Nim `addDebuggingInfo` (`system/stacktraces.nim`),
the `programCounters` list is constructed by Nim logic and also
does not add a 0 value to the list. This means that even if we fix
`getProgramCounters` to produce NULL terminated list, other usage
is still broken, and outside the control of this library.
Therefore, remove the NULL terminator logic and pass length explicitly
while retaining any early loop exits when encountering 0 for compat.
Also fix some memory leaks in error conditions.
- libbacktrace: it's OK if zstd decompressor sees no backward bits
- libbacktrace: remove trailing whitespace
- libbacktrace: suggest how to fix missing debug info
- libbacktrace: fix testsuite for clang
- libbacktrace: correctly gather Mach-O symbol table
- libbacktrace: don't fail if symbol size is unknown
- libbacktrace: update copyright years
- Handle jobserver file descriptors in btest
- libbacktrace: update libtool.m4 to current GCC HEAD
- libbacktrace: correct duplicate configury
- Config,Darwin: Allow for configuring Darwin to use embedded runpath
- libbacktrace: fix UBSAN issues
- libbacktrace: fix b2test_buildid test on non-english locales
- Libbacktrace: Fix the use of newline in sed replacement
- libbacktrace: improve XCOFF support
- libbacktrace: avoid infinite recursion
- libbacktrace: support FDPIC
- libbacktrace: read symbol table of debuginfo file
- libbacktrace: use real .opd for debuginfo on ppc64 v1 ABI
- libbacktrace: skip all LZMA block header padding bytes
- libbacktrace: pass -no-install when linking test programs
- fixed getModulePath() when library is mapped from within Android APK
- updated Makefile for Android
- updated sponsor information
- do not redefine WIN32_LEAN_AND_MEAN if already defined
- fixed getModulePath() when library is mapped from within Android APK (2)
- fixed getModulePath() when library is mapped from within Android APK (3)
- do not use the u_int type which is sometimes not defined on FreeBSD
- added support for OpenBSD
- made peace with Coverity
- defined _DEFAULT_SOURCE and _DARWIN_C_SOURCE from within whereami.c
- config/override.m4: don't require exactly autoconf 2.69
- configury: update to recent versions
- configury: support --disable-werror
- libbacktrace: initialize DWARF 5 fields of unit
- libbacktrace: gather address ranges from skeleton units
- libbacktrace: don't skip initial aligned byte in uncompressed block
- libbacktrace: replace fgrep with grep in configure script
- libbacktrace: don't let "make clean" remove allocfail.sh
- libbacktrace: don't exit Mach-O dyld library loop on one failure
- libbacktrace: check for sys/link.h
- libbacktrace: support zstd decompression
- libbacktrace: rewrite and simplify main zstd loop
- libbacktrace: unpack literals into output buffer
- libbacktrace: don't run --build-id tests if it is not supported
- libbacktrace: change PC variables from uint64_t to uintptr_t
- libbacktrace: minor fixes for zstd decompression
- libbacktrace: look for _pgmptr on Windows
- [libbacktrace] fix up broken test
- libbacktrace: call GetModuleFileNameA on Windows
- libbacktrace: support ASLR on Windows
This extends the build error message when CMake is not installed with a
macOS specific hint to install it using Homebrew, in line with how other
Status components report missing system dependencies.
libbacktrace bumped to the latest comit in the "master" branch of https://github.com/ianlancetaylor/libbacktrace
libunwind manually copied from https://github.com/llvm/llvm-project -
commit f749550cfe9f0bf2364abb2139835348587062ed - on top of which I
disabled a dependency on "../libcxx" that only makes sense in the LLVM
monorepo.
Allow separating stack unwinding and program counter collection from the
more expensive step of getting the associated debugging info for each
program counter.
This is useful for implementing efficient backtraces for exceptions - a
scenario in which you add a new backtrace each time an exception is
re-raised, but you rarely need to print them (usually when that
exception is uncaught).
libunwind snapshot - 673484b34189b1bccf73a2ec96968092bc8a26a7