Commit Graph
34 Commits
Author SHA1 Message Date
Bartosz Taudul 7974a74580 Add external_file support to libbacktrace
- Add external_file field to backtrace_state struct
- Add backtrace_create_state_for_file() function that marks
  state for external ELF files not loaded in current process
- In backtrace_initialize, use external_file flag to:
  - Pass exe=0 to elf_add for ET_DYN files (allows DWARF loading)
  - Skip dl_iterate_phdr enumeration (avoids noise from current process)

This enables symbol resolution from arbitrary ELF files on disk,
with caller responsible for address translation.
2026-03-30 19:52:12 +02:00
Bartosz Taudul 2f1fc19f88 libbacktrace: use correct names in #undef of ELF macros (b9e4006) 2026-03-30 19:40:30 +02:00
Bartosz Taudul 52607f70fe libbacktrace: add casts to avoid undefined shifts (78af4ff, 0034e33) 2026-03-30 19:38:45 +02:00
Bartosz Taudul d79b7d4176 libbacktrace: don't get confused by overlapping address ranges (3d0be55) 2026-03-30 19:33:37 +02:00
Simonas Kazlauskas 10b5f0d878 fix: GetDebugInfoDescriptor signature 2025-11-13 19:19:52 +02:00
PewPewCrit 11c9e3fa35 libbacktrace: recognize new Mach-O DWARF sections
Reference: libbacktrace@d48f84034ce3e53e501d10593710d025cb1121db
2025-08-04 14:17:18 +03:00
Bartosz Taudul e26c34346b libbacktrace: support FDPIC (1dd5c40) 2024-08-24 18:15:52 +02:00
Bartosz Taudul 0d0e56dca3 libbacktrace: avoid infinite recursion (febbb9b) 2024-08-24 18:02:05 +02:00
Bartosz Taudul 12c8592325 libbacktrace: fix UBSAN issues (5aa9254) 2024-08-24 18:01:10 +02:00
Bartosz Taudul ef21f5867e libbacktrace: correctly gather Mach-O symbol table (3fda5a8) 2024-08-24 17:57:43 +02:00
Bartosz Taudul ba79deddf6 libbacktrace: it's OK if zstd decompressor sees no backward bits (4ead348) 2024-08-24 17:55:41 +02:00
Ikko Eltociear Ashimine dfbf0652f2 libbacktrace: update elf.cpp
previouly -> previously
2024-07-01 02:20:56 +09:00
Bartosz Taudul 2df972d586 libbacktrace: don't assume compressed section is aligned (7ead8c1) 2024-03-13 00:29:01 +01:00
Bartosz Taudul 49478ec3b3 libbacktrace: skip all LZMA block header padding bytes (28824f2) 2024-03-13 00:24:13 +01:00
Bartosz Taudul 1f90cd473b libbacktrace: use real .opd for debuginfo on ppc64 v1 ABI (592e9c8) 2024-03-13 00:23:08 +01:00
Bartosz Taudul a9feb75bdf libbacktrace: read symbol table of debuginfo file (36cfdc1) 2024-03-13 00:20:14 +01:00
Bartosz Taudul a4eecd508d libbacktrace: call GetModuleFileNameA on Windows (25889d2) 2024-03-13 00:18:14 +01:00
Bartosz Taudul 11bf33c32c libbacktrace: look for _pgmptr on Windows (c1c86fa2) 2024-03-13 00:15:10 +01:00
trodrigues 8503f32b36 fix typos and compilation warnings 2023-12-09 09:37:14 -06:00
trodrigues e80e1d2484 fix line endings 2023-12-06 12:29:26 -06:00
Tiago Rodrigues 8dfc5fe41f re-apply diff 2023-12-06 12:39:52 -05:00
Tiago Rodrigues 38559172bb checkout elf.cpp as it looks like line ending were screwed up 2023-12-06 12:37:53 -05:00
Tiago Rodrigues 24b6c649d3 fix typo 2023-12-06 12:32:37 -05:00
trodrigues b835d73590 Add support for libbacktrace to detect new elfs have been dynamically loaded after backtrace_initialize() has been called, and consider them for symbol resolution 2023-12-05 20:09:11 -06:00
xhe 4e771b2da0 adapt libbacktrace to musl
Signed-off-by: xhe <xw897002528@gmail.com>
2023-09-10 19:26:38 +08:00
Bartosz Taudul 77402eb9c2 libbacktrace: minor fixes for zstd decompression (cdb64b68) 2023-04-05 17:24:19 +02:00
Bartosz Taudul 0f19727dc6 libbacktrace: change PC variables from uint64_t to uintptr_t (afe2967c) 2023-04-05 17:23:04 +02:00
Bartosz Taudul b53acde418 Fix type. 2023-01-05 20:34:50 +01:00
Bartosz Taudul 236bbfa8b1 libbacktrace: unpack literals into output buffer (da7eff2) 2023-01-05 20:31:05 +01:00
Bartosz Taudul d8fc004bfa libbacktrace: rewrite and simplify main zstd loop (fd9442f) 2023-01-05 20:29:51 +01:00
Bartosz Taudul 08d403e324 libbacktrace: support zstd decompression (c992dd8) 2023-01-05 20:27:36 +01:00
Bartosz Taudul 1601ddeab5 Resolve relative file names to absolute ones.
Note that this is a tentative fix, which *should* be working, but it may as
well not be correct in some edge cases. Who knows.
2022-08-16 23:48:46 +02:00
Bartosz Taudul 8ccfe93044 Apply 7409767 from libbacktrace. 2022-07-20 00:41:22 +02:00
Bartosz Taudul 06c7984a16 Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00