Nikita Smith
b05237ceec
handle anti-dependency weak symbol
2025-08-18 19:09:32 -07:00
Nikita Smith
31b2b1c0f7
add replacement cases for weak vs. undefined and vice versa
2025-08-18 19:09:32 -07:00
Nikita Smith
873aa475e8
update tests to conform to new linking rules
2025-08-18 19:09:32 -07:00
Nikita Smith
1bca83610f
changed symbol search logic to run in three steps: undefined, weak,
...
and anti-dependency weak, allowing linking to proceed only after
symbols from previous step are added to the symbol table
this solves the problem of anti-dependency symbols because they are
searched in libraries if the dependency is unresolved weak symbol
2025-08-18 19:09:32 -07:00
Nikita Smith
e1786d0a11
discard delay loads in the config before they get to link context builder
2025-08-18 19:09:32 -07:00
Nikita Smith
1ce2fbfd1a
helper for setting default symbol
2025-08-18 19:09:32 -07:00
Nikita Smith
a3582332ee
push a null symbol as a terminator for /alternatename weak symbol chain
2025-08-18 19:09:31 -07:00
Nikita Smith
04d2877b40
strip leading white space
2025-08-18 19:09:31 -07:00
Nikita Smith
81381f9a6d
minor cleanups
2025-08-18 19:09:31 -07:00
Nikita Smith
81c68cfdd3
register common and absolute symbols in library's symbol table
2025-08-18 19:09:31 -07:00
Nikita Smith
e27831902e
note
2025-08-18 19:09:31 -07:00
Nikita Smith
c53b8d43d0
assign symbol indices before serializing symbols so forward-references
...
are possible
2025-08-18 19:09:31 -07:00
Ryan Fleury
cff69f287a
p2r2 more progress; src file line sequence equipping, sketch out symbol conversion - we unfortunately cannot currently easily subdivide units! we need to pull out the few 'record-range' concepts and make them flat first, e.g. proc base address for inline sites, frameproc info, etc.
2025-08-18 16:58:05 -07:00
Ryan Fleury
83d4afabd5
p2r2: types building
2025-08-18 16:28:22 -07:00
Ryan Fleury
0fa45fe71b
p2r2: reslice per-lane work; bucket subsets of units by record count, rather than assigning units to lanes
2025-08-18 15:24:25 -07:00
Ryan Fleury
55f21018df
unit conversion, line info conversion
2025-08-18 14:19:48 -07:00
Ryan Fleury
34cb8ded2c
better uniform lane range distribution when count / lanes is not cleanly divisible; plug in source file path gathering
2025-08-18 12:01:55 -07:00
Ryan Fleury
d52b6d7bca
go wide on msf stream extraction
2025-08-18 11:36:33 -07:00
Ryan Fleury
d0ece7bc57
hook up p2r2 to radbin
2025-08-18 11:26:05 -07:00
Ryan Fleury
c33dd2869a
define synchronization primitive interface in base layer, implement using os layer; convert all usage -> base layer; use base sync primitives in lane tctx info
2025-08-18 10:46:43 -07:00
Ryan Fleury
a48651471d
share-read in header analysis in radbin
2025-08-15 16:54:06 -07:00
Ryan Fleury
e566b2ed30
checkpoint on wavefront-style pdb -> rdi converter
2025-08-15 16:50:28 -07:00
Ryan Fleury
f1a1863d5c
set up base-layer tctx info for thread wavefront metadata
2025-08-15 12:16:58 -07:00
Ryan Fleury
f754b4c2db
fix pointer/array comparison paths not being enabled for not-equal; fix value arithmetic paths applying in type comparisons
2025-08-15 11:31:50 -07:00
Ryan Fleury
83650a5fe0
support unsigned -> unsigned int; support as-style casts in expressions; pack int alias in pdb-produced rdis
2025-08-15 10:56:42 -07:00
Ryan Fleury
36c626e375
Merge branch 'master' of https://github.com/EpicGames/raddebugger into dev
2025-08-14 11:31:43 -07:00
Ryan Fleury
7be1faaa9b
fix callstack cache lookup early out case
2025-08-13 14:13:10 -07:00
Ryan Fleury
5144ced282
turn off call stack tree macro for now
2025-08-13 13:46:02 -07:00
Ryan Fleury
6a8277536f
fix one-sided bounds check in text containing-scope binary search
2025-08-13 13:21:34 -07:00
Nikita Smith
1d6eae2b18
minor fixes for gathering library members
2025-08-12 19:03:51 -07:00
Nikita Smith
086d774b8b
fix ELF compressed header and skip duplicate sections
2025-08-12 14:10:13 -07:00
Ryan Fleury
788df5f556
os: barrier
2025-08-12 10:12:05 -07:00
Nikita Smith
b50f309422
modified member queue logic to prioritize libs where pull-in reference
...
symbol is declared
2025-08-11 23:28:03 -07:00
Ryan Fleury
a8f6142e63
eval/ir: do not strip enum types off when doing address operations
2025-08-11 16:18:39 -07:00
Ryan Fleury
36dcd65a83
first pass at call stack tree evaluation
2025-08-11 16:08:04 -07:00
Ryan Fleury
056604fb94
sketch out tline -> vline text wrapping cache types; first pass of async call stack tree builder
2025-08-11 13:46:06 -07:00
Nikita Smith
829a35430c
add flag to exclude objs from debug info input
2025-08-11 02:49:26 -07:00
Nikita Smith
702fd74b23
minor cleanup in obj initer
2025-08-10 21:41:39 -07:00
Nikita Smith
2b02f5cec6
lifetime fixes
...
- fully serialize the lib because we cannot guarantee that its members
will have the same lifetime as the serialized lib
- put import stub symbols on the symbol table arena
2025-08-10 21:35:33 -07:00
Nikita Smith
7466da1479
mark referenced symbols as live for unresolved-symbol detection
2025-08-08 15:54:21 -07:00
Nikita Smith
9893a8135d
fix crash when linking undefined weak symbol
2025-08-08 13:35:47 -07:00
Nikita Smith
137eb6403a
fix crash when relocation points to an undefined section symbol
2025-08-07 22:40:20 -07:00
Nikita Smith
4f6f9d61ed
inline function for replacing weak symbols with default symbol
2025-08-07 17:41:45 -07:00
Nikita Smith
9a1f96bda2
progress on /opt:ref
...
Link the debugger and strip unreferenced sections
TODO: Mark referenced undefined symbols for unresolved symbol reporting
2025-08-07 17:36:11 -07:00
Ryan Fleury
e1d6b9f319
tweaks
2025-08-06 17:21:44 -07:00
Ryan Fleury
af5dcffdac
tie scope rendering to settings
2025-08-06 14:33:17 -07:00
Ryan Fleury
a227aff8f6
finish containing-scope visualization
2025-08-06 14:24:12 -07:00
Ryan Fleury
cd8c3a2172
enable read/write bits on just read data breakpoint on x64 - there is no way to do a read-only (without write) data breakpoint
2025-08-06 11:50:01 -07:00
Ryan Fleury
4c10e84e5f
fix txt cache scope lookup binary search
2025-08-05 21:17:50 -07:00
Ryan Fleury
01f60834e9
plug in text scope tree to code slice visualization
2025-08-05 16:36:59 -07:00