Commit Graph

3227 Commits

Author SHA1 Message Date
Ryan Fleury 49bcb252d9 remove year from license 2025-09-16 11:51:10 -07:00
Ryan Fleury c5a1da5c80 bump to 22 2025-09-16 11:48:00 -07:00
Ryan Fleury 3ab9f72c76 readme pass 2025-09-16 11:47:04 -07:00
Nikita Smith 80967fac12 pre-parse section names and flag debug info sections 2025-09-16 10:31:02 -07:00
Nikita Smith 3224c5e0aa skip linker info sections during relocation patching, also log a message
when encountering an unsupported machine type
2025-09-16 10:31:01 -07:00
Nikita Smith 488849792c change file search to return on first match 2025-09-16 10:31:01 -07:00
Nikita Smith 7095a8cd6e fix bug where new object tracking failed, causing certain objs to be
skipped during the symbol table input step
2025-09-16 10:31:01 -07:00
Nikita Smith 5aff575feb discard empty symbol nodes 2025-09-16 10:31:01 -07:00
Nikita Smith b5a2bbaf54 early-out of default library searches 2025-09-16 10:31:01 -07:00
Nikita Smith d6596efac8 allow weak symbols to resolve to other weak symbols 2025-09-16 10:31:01 -07:00
Nikita Smith c47b35f635 update link symbol set logic to replace import address symbols with jump
thunk symbols
2025-09-16 10:31:01 -07:00
Nikita Smith c7c86cd360 do not report unresolved symbols in debug info sections 2025-09-16 10:31:01 -07:00
Ryan Fleury 937c6c8bce eliminate radcon, eliminate unused string helpers 2025-09-16 10:17:02 -07:00
Ryan Fleury 1b82c52803 only enable priority thread running on initial run loop; do not pay the cost every run loop iteration 2025-09-15 17:18:59 -07:00
Ryan Fleury 2a8ca37cb3 record & restore target window on runs 2025-09-15 14:10:30 -07:00
Ryan Fleury c7bb49092f radbin dump: isolate output bundling on lane 0 2025-09-15 13:28:43 -07:00
Ryan Fleury cf94b3757e wide rdi dumping 2025-09-15 13:02:32 -07:00
Ryan Fleury 26606d7895 do not strip enums/aliases on array index ops 2025-09-15 11:32:22 -07:00
Ryan Fleury e021079d05 bump rdi encoding version 2025-09-09 08:28:08 -07:00
Nikita Smith b1609017c5 inline xxhash functions 2025-09-08 16:07:31 -07:00
Nikita Smith 763bb57459 revert hasher 2025-09-08 16:07:31 -07:00
Nikita Smith 98a05728b3 add check for whether weak symbol is resolved 2025-09-08 16:07:31 -07:00
Nikita Smith fc0a7d51d3 warning fixes 2025-09-08 16:07:31 -07:00
Nikita Smith 58e3af5b3c test for linking using first and second lib headers 2025-09-08 16:07:31 -07:00
Nikita Smith bbe430cc2f write first linker member header with symbol names grouped by member 2025-09-08 16:07:31 -07:00
Nikita Smith 24b427fe72 delete unused blake3 headers 2025-09-08 16:07:31 -07:00
Nikita Smith ee3832ea3b parallel for lib symbol search 2025-09-08 16:07:31 -07:00
Nikita Smith fb46d0bba4 sort symbol names in first member header 2025-09-08 16:07:31 -07:00
Nikita Smith 7193986305 binary search for strings 2025-09-08 16:07:31 -07:00
Nikita Smith 00536f7ea8 rewrite set linked symbol logic to respect declaration order in obj symbol table 2025-09-08 16:07:31 -07:00
Nikita Smith 8a22910d9b add "Links" log type for diagnosing linked lib members 2025-09-08 16:07:31 -07:00
Nikita Smith 082f6cf6fd fix free block check and remove unused free_size field 2025-09-08 16:07:31 -07:00
Nikita Smith 8f749f4239 use global symbol table to detect duplicate imports 2025-09-08 16:07:31 -07:00
Nikita Smith 7cea036bc1 clean up pass over symbol table
- rename functions for consistency
- remove unused code
2025-09-08 16:07:31 -07:00
Nikita Smith 222c220d99 make xxhash API funcs static and hash string size too 2025-09-08 16:07:31 -07:00
Ryan Fleury 80b65bc0fb fix treatment of unitless pdbs 2025-09-08 16:06:45 -07:00
Nikita Smith 069d683690 fix crash when obj does not have debug info 2025-09-06 09:54:23 -07:00
Nikita Smith 3459070f71 remove windows.h from blake3 2025-09-06 09:54:23 -07:00
Nikita Smith a6432cce8e improve unresolved symbol errors
- collect symbol references and print out objs that reference
  unresolved symbol
- print source file location of the references
2025-09-06 09:54:23 -07:00
Nikita Smith d92f45784d rename defined symbol to obj ref, as the symbol table no longer has
scopes and it makes no sense to refer to them that way
2025-09-06 09:54:22 -07:00
Nikita Smith 21163264d4 redirect entry point to CRT version if name is inferred 2025-09-06 09:54:22 -07:00
Nikita Smith a11406ac51 declare thunk symobls as functions 2025-09-06 09:54:22 -07:00
Ryan Fleury 40d6ce2f59 do not return zeroes for top-level structures in pdb parser; ensure you have a top-level readable pointer, always 2025-09-06 09:53:04 -07:00
Ryan Fleury 0c161f83c7 fix clang 2025-09-05 17:09:01 -07:00
Ryan Fleury 23a68faadd rdim2 -> rdim; p2r2 -> p2r 2025-09-05 17:06:19 -07:00
Ryan Fleury 51ef166e60 eliminate all old conversion/baking code 2025-09-05 17:02:56 -07:00
Ryan Fleury 78530fb10d merge p2r2 into original p2r, delete old conversion path; replace pdb -> breakpad converter & dependency on old converter 2025-09-05 16:35:35 -07:00
Ryan Fleury a2b4e7bdc5 fix missing null voff in scope voff data section 2025-09-05 16:02:38 -07:00
Nikita Smith 11373f4432 disable COFF group info generation 2025-09-05 15:19:31 -07:00
Nikita Smith f2ee135439 fix up symbols visibility 2025-09-05 15:19:31 -07:00