Ryan Fleury
595270bdab
path tree baking
2025-09-05 15:19:29 -07:00
Ryan Fleury
b169090dc6
checkpoint on new rdi baking; line table baking, string map building, plug in radsort over bad radix sort; arena tweak to aovoid unnecessary zeroes
2025-09-05 15:19:29 -07:00
Ryan Fleury
66ec3e834b
rdi baking: wide line table gathering/joining & sorting
2025-09-05 15:19:29 -07:00
Ryan Fleury
69d0da9586
checkpoint on moving all of radbin to wavefront-style, first step to going wide on rdi baking as well
2025-09-05 15:19:28 -07:00
Mārtiņš Možeiko
d8bb8c76c6
add shadow stack register and read it in win32 thread context
2025-09-03 09:36:20 -07:00
Ryan Fleury
c35c14dadb
prefer last match to first in debug info, to gracefully avoid stale debug info in pdbs
2025-08-30 12:04:39 -07:00
Ryan Fleury
be5634c448
p2r2 - final conversion output bundling
2025-08-19 17:02:05 -07:00
Ryan Fleury
cdec8d5980
ctrl/demon: fastfail exception codes / notes; p2r2: finish symbol conversion etc. in new wavefront-style version
2025-08-19 16:47:12 -07:00
Nikita Smith
0656020ab3
sync primitive fixes
2025-08-18 19:26:35 -07:00
Nikita Smith
429ba8b080
helper for writing 32-bit address relocation
2025-08-18 19:09:32 -07:00
Nikita Smith
eee6a9c08a
natvis for obj list
2025-08-18 19:09:32 -07:00
Nikita Smith
b56ce72b7f
test cases for weak vs weak
2025-08-18 19:09:32 -07:00
Nikita Smith
257914da2f
handle alternate name directive after obj input
2025-08-18 19:09:32 -07:00
Nikita Smith
b19f73b93a
change unresolved weak symbol type to undefined
2025-08-18 19:09:32 -07:00
Nikita Smith
cdf515793f
stop walking on reaching an undefined symbol
2025-08-18 19:09:32 -07:00
Nikita Smith
0983915f40
oops forgot to init the delay load dll hash table and the established name string
2025-08-18 19:09:32 -07:00
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