Commit Graph
308 Commits
Author SHA1 Message Date
Nikita SmithandRyan Fleury 2c5fb7e7ef guard against merges with resource and base reloc sections 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 86fe2ddd38 remove arena per section 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 8da56025b3 patch section symbol and test for relocations to discarded memory 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 40fda5335c move default section flags to separate file to use them in torture 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury bd830a6023 test case for relocation to undefined section with base relocations 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury f25dc5cc8d pack export table into obj and input back to the linker 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 3a7afcd80c replace linker lib writer with one from COFF 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 7c071e7238 linker checkpoint 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury a60216fa9f minor fixes in hash table 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 01c905dbbd reuse import table flags, and parameterize data directory count 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury c56cfefe09 move rsp unwrapper to config 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury 3875b057d7 delete string compars form linker layer 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury 19a7ada1dc make export table with COFF obj writer,
partially converted import table to COFF obj writer
2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury 3a2bb318c7 make import lib objs with COFF obj writer 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury e580b69180 make linker obj with COFF obj writer 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury c45088b546 replaced dependency on linker's chunking for resource serialization
with COFF obj writer
2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury 55c76db902 handle linker directives in a separate step after obj is initialized,
this way we don't need to store directives in obj struct
2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury 307d3a7f4b check obj compatibility before initializing them 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury 1eca5818a6 removed dependency on relocation list when error checking .drectve 2025-06-25 10:53:21 -07:00
Ryan Fleury 88867ac758 lib_rdi_format -> lib_rdi 2025-06-19 08:21:58 -07:00
Ryan Fleury f590e9b6d5 eliminate separate path layer, merge into base strings layer 2025-06-19 07:38:34 -07:00
Ryan Fleury 058c1454e2 eliminate all extra enums files for formats 2025-06-19 07:25:35 -07:00
Ryan Fleury 0e414a3dfb fix clang build; adjust raddbg --convert option to --bin 2025-06-10 14:39:09 -07:00
Ryan Fleury 834f38f73b pass over rdi dumping code; relocate to rdi_format_local; eliminate redundant helpers; plug into radbin 2025-06-10 14:14:39 -07:00
Ryan Fleury 49de09883e plug in dwarf converter to radbin; hook up to both rdi generation & breakpad generation; radbin exe -> pdb / elf -> dwarf inferences; cleanup / unification passes 2025-06-10 08:53:57 -07:00
Ryan Fleury 858f3866d4 fix name map kind name lookup build 2025-05-29 17:05:51 -07:00
Ryan Fleury 89cc73eca6 constant name map 2025-05-29 16:57:08 -07:00
Nikita Smith ea5aab3f7e remove assert for empty switch 2025-04-04 15:50:23 -07:00
Nikita Smith ab05133f8a picked better name convention for the section table 2025-04-04 15:47:56 -07:00
Nikita Smith 8beb168905 went over COFF string table and changed the parser code accept to String8 2025-04-04 15:45:51 -07:00
Nikita Smith c090bee2f3 added missing debug comments for chunks 2025-04-04 15:45:51 -07:00
Nikita Smith bb3d01ffe6 output lib index and chunk debug comments 2025-04-04 15:45:51 -07:00
Nikita Smith c6ba475427 produce image layout map 2025-04-04 15:45:51 -07:00
Nikita Smith 02885b0b86 dedup manifest inputs 2025-04-02 22:48:56 -07:00
Nikita Smith 1c518bfa07 prefix COFF machine enums with "Type" 2025-03-31 22:53:10 -07:00
Nikita Smith 03a87fd4ee cleaned up a bit symbol replacement logic 2025-03-31 22:47:57 -07:00
Nikita Smith b9c4774786 minor fixes 2025-03-26 12:18:46 -07:00
Nikita Smith 0c61415f72 merged path helper code from linker layer into main path layer 2025-03-26 12:18:46 -07:00
Nikita Smith 1dc0192322 fix clang warning and errors 2025-03-17 15:25:49 -07:00
Nikita Smith 4298f3d5f6 typo 2025-03-17 13:29:52 -07:00
Nikita Smith 13352751ec moved DWARF parser to use str8_deserial-style API, added to the parser
layer functionality for interpreting different types of attributes,
added support for location lists, and API to enable parsing tags with
abstract origin.
2025-03-17 10:40:59 -07:00
Nikita Smith 4e775d5b6c hash table helper 2025-03-04 11:39:26 -08:00
Nikita Smith 6c5d2a05cb moved platform depended code from OS layer to linkers IO 2025-02-25 14:41:34 -08:00
Nikita Smith d5ab121183 pre-allocate file size before write 2025-02-25 14:41:34 -08:00
Nikita Smith bbce89eada added /RAD_WRITE_TEMP_FILES
When enabled linker writes image and debug info to temporary files
and renames them after all writes are done.
2025-02-25 14:41:34 -08:00
Nikita Smith bd5d38ef0c handle null write 2025-01-28 16:56:12 -08:00
Nikita Smith 5e3b500119 put ranges on arena 2025-01-28 16:46:50 -08:00
Nikita Smith 0ca9d97750 error out on /LIB and /DUMP switches 2025-01-24 14:40:27 -08:00
Nikita Smith f2f18b9798 replaced /RAD_IDLE_WORKERS with /RAD_SHARED_THREAD_POOL_MAX_WORKERS 2025-01-24 12:49:30 -08:00
Nikita Smith 8196ef0a6e tweaks and fixed in thread pool
- created a separate entry point for shared workers
- fixed race condition in tp_run_tasks where worker would read
  modified task count and cause unpredictable behavior
2025-01-24 10:33:42 -08:00