Ryan Fleury
0b91cab00a
linux_demon: PTRACE_EVENT_STOPs can sometimes be reported even if a thread has already hit a trap (e.g. a trap net or breakpoint trap). this would sometimes cause spurious SIGTRAPs after issuing a PTRACE_INTERRUPT - so we need to flag halted threads to not treat that as a 'real' trap. furthermore, even though that trap was hit, it does not guarantee that the debugger would next see a SIGTRAP. that would cause spurious SIGILLs, because we'd resume threads *after* the trap, despite not seeing the trap, so they'd just see a malformed instruction (the bytes subsequent the initial trap). so in those cases, we need to roll such threads back, so that they re-execute the trap, and so that we see a regular SIGTRAP, and handle the trap correctly.
2026-09-29 12:28:05 -06:00
Ryan Fleury
2933143b08
win32_demon: make conflicting trap net / user bp trap behavior identical to linux - always find info for *first* trap in list. second... dbg_engine: store trap net traps *first*, so that trap net behavior is preferred when trap nets conflict with user bp traps.
2026-09-28 10:10:16 -06:00
Ryan Fleury
4e7a6127d8
dbg_engine: process memory cache - always retry on memgen 'tearing', do not enforce size restriction. linux_demon: correctly relativize loaded module paths when needed per the loading process' working directory. raddbg: disasm view, do not skip too far back - can go into unmapped space. eval: file/folder filtering - hoist exact matches to the top.
2026-09-28 09:18:59 -06:00
Ryan Fleury
e7a9c430f8
rdi_from_dwarf: fix incorrect argument slot used in breg<N> conversion
2026-09-28 08:38:30 -06:00
Ryan Fleury
d66094161d
rdi_from_dwarf: do not assume non-zero root tags in each unit
2026-09-28 08:31:05 -06:00
kwy404
1ac8fb5202
base: fix data4 byte order in try_guid_from_string
...
The last two GUID groups were packed into a U64 and copied to data4 in
host byte order, so on little endian data4 came out reversed and
string_from_guid did not round trip (for example /RAD_GUID). Store the
value big endian so data4[0] is the first byte of the fourth group.
2026-09-27 00:20:42 -07:00
Ryan Fleury
2c226d8a4b
selected-thread-only breakpoints; user setting for adding that by default; do this for 'run-to-line' operations
2026-09-25 14:28:54 -06:00
Ryan Fleury
315175e34d
keep debug info status viz, just omit string if it matches the module (usual linux case)
2026-09-25 13:45:31 -06:00
Ryan Fleury
ed10cd771a
ci xfixes
2026-09-25 13:15:31 -06:00
Ryan Fleury
eb845405e0
linux_window_manager: clipboard support
2026-09-25 13:10:08 -06:00
Ryan Fleury
0d93e80f84
linux notes
2026-09-25 11:19:24 -06:00
Ryan Fleury
0317f4c810
linux_demon: correct rebasing / phdr address parsing for both static/dynamic ELFs
2026-09-25 11:15:07 -06:00
Ryan Fleury
bc7434f7ed
linux_demon: do not fail when there is no dynamic loader present
2026-09-25 10:29:16 -06:00
Ryan Fleury
9fdcc88cab
rdi_from_dwarf: correctly use unit_dir only when line table directories are relative; correctly use unit compilation unit name as first file in pre-dwarf-5
2026-09-24 11:37:24 -06:00
Ryan Fleury
31d10c3b4f
rdi_from_dwarf: preserve unit dir in generated source file paths. do not assume relativity to binary, often incorrect
2026-09-24 11:24:42 -06:00
Ryan Fleury
df1de0541a
linux_demon: robustness to clone-then-stop, *or* stop-then-clone
2026-09-24 10:12:22 -06:00
Ryan Fleury
ca0764c2e2
linux_demon: ptrace stop vs. clone notes - we cannot rely on the order!
2026-09-23 16:56:50 -06:00
Ryan Fleury
cc82127537
eh_frame_unwind: correctly commit cfa_out - it is still unclear if we need this channel, since all we do right now is commit cfa to the sp. so presumably callers could just look at the parent's sp? but my understanding of this is not strong enough to know if that is 100% reliable, since my understanding is that the cfa is an abstract thing specifically because it may *not* be the sp. but not sure, need to look more into it later.
2026-09-23 11:53:59 -06:00
Ryan Fleury
99f35bb342
rdi_from_dwarf: cfa push opcodes
2026-09-23 11:28:24 -06:00
Ryan Fleury
0e134ade56
separate x64 exception enums from stuff that assumes x64 host + includes regs/data-tables/etc.; just include *that* in linux base
2026-09-22 03:44:36 -07:00
Ryan Fleury
6133e8f335
Revert "Revert "x64 does not belong in base - base is intended to be things we can assume everywhere, which explicitly disqualifies x64 by definition.""
...
This reverts commit f9950ef4e9 .
2026-09-22 03:28:55 -07:00
Nikita Smith
f9950ef4e9
Revert "x64 does not belong in base - base is intended to be things we can assume everywhere, which explicitly disqualifies x64 by definition."
...
This reverts commit 4e4639c2a0 .
2026-09-21 14:05:13 -07:00
Nikita Smith
4add147a09
radlink: refactor MSF writer to allow allocation of contiguous stream backing
...
* remove MSF reader API
* remove PDB reader API
2026-09-21 14:00:07 -07:00
Nikita Smith
98c1191506
radlink: use bit arrays for marking discarded CV types
2026-09-21 14:00:06 -07:00
Ryan Fleury
7bfa4578d1
fix radbin/torture builds
2026-09-21 09:54:19 -07:00
Ryan Fleury
9796328ffa
only inc x64 into base by default on linux, where we actually apparently need it - ideally we do not just pull in all of x64 just for a few enum codes'
2026-09-21 09:43:28 -07:00
Ryan Fleury
4e4639c2a0
x64 does not belong in base - base is intended to be things we can assume everywhere, which explicitly disqualifies x64 by definition.
2026-09-21 09:14:11 -07:00
Nikita Smith
48ba845a91
radlink: strip LF_PRECOMP earlier before parsing .debug$T to exclude it from leaf arrays
2026-09-21 09:08:08 -07:00
Nikita Smith
0ac6b35a98
base: add memory placeholders and generic page fault handler
...
* Add windows and Linux demand-mapping backends
* Add exclusive file creation, sizing, flushing and replacement APIs
2026-09-21 09:08:07 -07:00
Nikita Smith
4e12148910
set up compressor
...
set up compressor on linux
2026-09-21 09:08:07 -07:00
Nikita Smith
e50cef2bff
minor fixes
2026-09-21 09:08:06 -07:00
Nikita Smith
2afb78e498
radlink: resolve alternate-name fallbacks through prevailing weak symbols
...
Follow prevailing weak definitions instead of synthetic anti-dependency
placeholders. Resolve all weak symbols before publishing results so
anti-dependency chaining rules are independent of worker order.
2026-09-21 09:08:06 -07:00
Nikita Smith
64c2216ae6
radlink: encode the DBI major build number in its 16-bit field
2026-09-21 09:08:05 -07:00
Nikita Smith
5b646344eb
radlink: implement /NOENTRY
2026-09-21 09:08:05 -07:00
Nikita Smith
4663d1a89a
radlink: handle thread pool release correctly
2026-09-21 09:08:04 -07:00
Nikita Smith
458e5029db
radlink: absolute symbols with identical value are legal
2026-09-21 09:08:04 -07:00
Nikita Smith
51bd5e0882
more accurate name for the function that queries test linker path
2026-09-21 09:08:03 -07:00
Nikita Smith
44a37e2a80
fixes for export test
2026-09-21 09:08:03 -07:00
Nikita Smith
986a6c526f
radlink: implement COFF_ImportBy_NoPrefix
2026-09-21 09:08:02 -07:00
Nikita Smith
707a3e11ca
release asserts
2026-09-21 09:08:02 -07:00
Ryan Fleury
f2ea61ab83
fix dumb passthrough of raddbg.com in args in com shim
2026-09-21 09:04:32 -07:00
Ryan Fleury
dc2a206487
win32 symbol server :sync request task count
2026-09-15 14:08:11 -07:00
Ryan Fleury
23507a826f
content: fix inconsistent root -> node path
2026-09-15 08:35:23 -07:00
Nikita Smith
000997d3af
radlink: implement COFF_ImportBy_Undecorate
2026-09-11 22:57:06 -07:00
Henrik Karlsson
3e7b11fd1b
radlink: prefer non-zero function prefixes for COMDAT Any
2026-09-11 19:50:57 -07:00
Nikita Smith
e162b800d9
radlink: make command-line /INFERASANLIBS:NO disable ASAN library inference without allowing directive to re-enable it
2026-09-10 15:56:27 -07:00
Ryan Fleury
c762d1cd71
do not output nil file in breakpad output
2026-09-10 14:54:33 -07:00
Nikita Smith
1673303d56
coff: parse long section names encoded with LLVM/GNU format
2026-09-10 14:28:35 -07:00
Nikita Smith
fd6e2bb6b2
radlink: relax rules for relocations pointing into removed associative sections
2026-09-10 14:28:34 -07:00
Nikita Smith
40c1ac39ba
radlink: set target section offset so COMDATs data offsets contribute to the color too
2026-09-10 14:28:33 -07:00