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
Ryan Fleury
230f452edb
text cache scope tree lookup paths
2025-08-05 16:11:49 -07:00
Ryan Fleury
5a5fd53bfa
scope tree / sorted scope endpoints parsing in text cache parsing
2025-08-05 14:28:49 -07:00
Ryan Fleury
c4374810cb
fix wrong void type in pdb -> rdi
2025-08-05 13:41:10 -07:00
Ryan Fleury
9cff2bc7dd
symbolof operation in eval
2025-08-05 10:21:42 -07:00
Ryan Fleury
1856c52e58
xxhash for ctrl layer
2025-08-05 09:27:38 -07:00
Nikita Smith
cff6426741
null check for obj
2025-08-05 08:39:12 -07:00
Nikita Smith
d3dedd8bef
simplifying symbol table scopes
...
Linker cannot register extern import symbols initially because
the import object files are not available until all other object files are
resolved. To work around this, we create a stub weak symbol and assign
it to each import symbol. This allows linker to proceed. Once the import
object files are generated, linker replaces the stub symbol with
the actual ones from the import objects.
2025-08-05 08:39:12 -07:00
Nikita Smith
dd715dacf7
assign COMDAT symlinks as soon as the symbol table is processed
2025-08-05 08:39:11 -07:00
Nikita Smith
1fe85acff8
refactor include symbols to go through same code path as alternate name symbols
2025-08-05 08:39:11 -07:00
Nikita Smith
c1958809eb
make use of undocumented anti-dependency search property on weak symbols
...
to implement alternate name using weak symbols
2025-08-05 08:39:11 -07:00
Nikita Smith
8d246d0c6a
pass down to config obj; preparing to refactor alternate name out of the symbol table
2025-08-05 08:39:11 -07:00
Ryan Fleury
31973ac2ac
eliminate extra type stuff in rdim, organize / reslice dwarf conversion code, start reading through dwarf conversion
2025-08-04 14:19:17 -07:00
Ryan Fleury
b31b4612e9
pre-emptive thread register cache updating on ctrl thread - cache reading/updating on ui thread should always be allowed to gracefully fail, since it is literally impossible on linux, but we can always rely on the ctrl thread to pipe the right thing through eventually.
2025-08-04 13:13:18 -07:00