Commit Graph

328 Commits

Author SHA1 Message Date
Jeremy Rifkin
bfc86d82bf
Forgot to save before staging 2024-08-17 20:07:26 -05:00
Jeremy Rifkin
7b2b480f6a
Oops 2024-08-17 20:02:34 -05:00
Jeremy Rifkin
b20a742031
Mac fixes 2024-08-17 19:57:41 -05:00
Jeremy Rifkin
a44cc5239c
Check old page protections 2024-08-17 19:41:24 -05:00
Jeremy Rifkin
25517d4789
Allocate the new vtable in its own page and make it read-only 2024-08-17 18:28:09 -05:00
Jeremy Rifkin
2692a1ee42
Oops 2024-08-17 17:04:30 -05:00
Jeremy Rifkin
4446b9732b
More implementation 2024-08-17 16:55:49 -05:00
Jeremy Rifkin
6f80d63125
More implementation work 2024-08-17 10:54:19 -05:00
Jeremy Rifkin
8a805fc829
Some more implementation 2024-08-16 17:53:04 -05:00
Jeremy Rifkin
d3d697f439
Basic implementation for universal exception tracing on linux/itanium 2024-08-15 19:59:03 -05:00
Jeremy
cc2b3fce40
Add another try/catch to prevent any potential TCO 2024-07-13 19:07:58 -05:00
Jeremy
dcf89743f6
Block TCO on wrapper functions 2024-07-13 19:06:33 -05:00
Jeremy
c35ad6887a
Fix issue with incorrect reported object addresses on macos when using debug maps 2024-07-13 19:06:13 -05:00
Jeremy
e1fb3527a4
Fix an issue with split dwarf on clang 2024-07-11 19:10:16 -05:00
Jeremy
611660de5b
Fix use after free during cleanup of split dwarf information, fixes #141 2024-07-02 21:56:35 -06:00
Jeremy
1f19c31e02
Fix bug with dladdr1 not being used, silly typo 2024-06-19 15:15:51 -05:00
Jeremy Rifkin
2fb0a6fd2e
Fix trace generation for cpptrace exception objects on armv7hf (#138)
noexcept on get_raw_trace_and_absorb seems to somehow interfere with
unwinding on armv7hf, possibly due to unwind tables not being generated
for the function. Fixes #134.
2024-06-13 11:17:44 -05:00
Jeremy
bb83fa922c
Merge branch 'dev' 2024-06-11 22:30:27 -05:00
Jeremy
8d7a85c447
Update flatten_inlines to properly move inline frames instead of copying them and also clarify a comment 2024-06-04 23:21:14 -05:00
Infko
72b0e467d7
fix compile error in gcc 4.8.5. (#133) 2024-06-04 23:16:34 -05:00
Jeremy
b8a6e8446a
Quick microfmt fix for an old msvc bug 2024-06-02 12:47:53 -05:00
Jeremy
44ddc1b72f
Merge branch 'main' into dev 2024-06-02 11:35:01 -05:00
Jeremy
59ef49f1a3
Update microfmt 2024-06-02 11:31:43 -05:00
Jeremy
70634cb6f4
Undo temporary change printing object addresses in stack traces 2024-05-28 21:44:13 -05:00
Jeremy
9d1c592f0c
Remove CPPTRACE_CONDA_LIBDWARF_WEIRDNESS bodge and better support libdwarf via pkgconfig, resolves #131 2024-05-28 21:32:54 -05:00
Jeremy Rifkin
b2bff57d81
Debug Fission (#132)
Implement support for debug fission, closes #129
2024-05-28 20:39:34 -05:00
Jeremy
5556aedddb
Refactor cu lookup out of pc resolution 2024-05-25 16:20:41 -05:00
Jeremy
8bff5dc9fe
Quick fix 2024-05-25 14:32:34 -05:00
Jeremy
810b74ecaa
Refactor symbols_with_libdwarf indo separate files 2024-05-25 14:29:55 -05:00
Jeremy
5171e87a51
Refactor logic in the libdwarf resolver's resolve_frames, pull out trace flattening 2024-05-25 13:38:06 -05:00
Jeremy
a9f72c6f67
Refactor logic in the libdwarf resolver's resolve_frames, pull out resolver management 2024-05-25 13:02:25 -05:00
Jeremy
dcd9a31ce4
Refactor collate_frames 2024-05-25 12:38:34 -05:00
Jeremy
dad3bd1843
Some comments regarding dlfcn logistics and comment cleanup 2024-05-25 00:40:08 -05:00
Jeremy
7916f10278
Attempt to fallback to dladdr if dladdr1 is not available 2024-05-24 23:04:20 -05:00
Jeremy
f8d28a6469
Fix incorrect handling of lazy_trace_holder's union, I can't believe I wrote such egregious code 2024-05-23 22:33:56 -05:00
Jeremy
6307700710
Fix ASSERT macro under -Wpedantic 2024-05-23 22:33:33 -05:00
Jeremy Rifkin
b3836e9318
Support -Wpedantic if someone sets the flag globally while using FetchContent (#127)
Closes #107
2024-05-23 21:18:11 -05:00
Jeremy
7c9b24ca72
Fix dwarf_ranges handling of lowpc == pc, it's not correct to jump the gun and not check the high-pc. I think I erroneously added this in c94b03ae6e. Discovered as part of #123. 2024-05-19 17:00:44 -05:00
Jeremy
4884c4e99b
Fix frame pointer calculation for symbol frames under libunwind, #123 2024-05-19 16:36:07 -05:00
Jeremy
b2fe396d70
Fix address formatting, somehow it was left-aligned 2024-05-19 16:28:41 -05:00
Jeremy
323ab5814e
Merge branch 'main' into dev 2024-05-12 22:00:45 -05:00
Ben Dunkin
a70cf7935a
Fix missing cxxabi.h include on Windows when using libc++ (#122)
Make operator precedence explicit so the
`CPPTRACE_HAS_CXX_EXCEPTION_TYPE` define is a dominant switch to use
cxxabi.h, rather than one that only applies when `__GLIBCXX__` is
defined.

Fixes https://github.com/jeremy-rifkin/cpptrace/issues/121
2024-05-12 21:56:38 -05:00
Jeremy
74ed6afc0a
Add cpptrace::system_error 2024-05-06 23:01:11 -05:00
Jeremy
da0aa4d5c0
Split a bunch of internal headers into .cpp/.hpp 2024-05-05 17:44:27 -05:00
Jeremy
d7c19a5544
Updates for conda 2024-05-03 20:07:09 -05:00
Jeremy
abbc77dcea
Clean up logic a bit 2024-05-02 11:17:41 -05:00
Jeremy
d3c7e7351c
Remove guard for resolve_l_name 2024-05-02 11:09:37 -05:00
Jeremy
ce19421bb5
Update for macos 2024-05-02 11:05:22 -05:00
Jeremy
b125248b32
Update dladdr path to not use dli_fname as it's unreliable in the case of a non-standard argv[0] 2024-05-02 10:47:31 -05:00
Jeremy
0527cea39f
For the libbacktrace back-end don't treat missing debug info in ELFs as a critical error; fixes #114 2024-04-28 19:51:52 -05:00