Commit Graph
100 Commits
Author SHA1 Message Date
Nikita SmithandRyan Fleury 60d3f25057 test for __ImageBase with relative and address relocations 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 03e4958190 assign layout offsets and sizes to merged sections 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury f75cdd23d7 collapse linker input states into one state 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury d3c3b672ea image name helper 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 6fd9ab7388 strip postfix when searching for section 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury a2bef106a1 handle case where symbol doesn't have obj 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 1cc23e42ff delay import objs 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury c209dd730a set ordinal low in export finalize path 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury ac261b3eed trim obj paths pulled in from libs 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury f2c7e69844 natvis for hash table 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 71596b2f3e collapse make API for imports 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 65944f0444 clean up pass over COFF writer 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 34a87e7828 create member symbol only for imports with name 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 89239fc744 test reloc for section symbol with merged section 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury f467ff8822 WIP move export and import table make code to appropriate layers 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 69d5010245 WIP switching to creating import table objs 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 1b21d0709f return symbol for pushed lib member 2025-06-25 10:53:22 -07:00
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 c5164bd490 discard null data nodes 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 3ffd8c19ea helper for querying machine specific relocation for virtual offset relocation 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury c55c60549e export virtual ranges for data directories 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury f37f94a2b9 minor fixes 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 4161dd0440 check export table entries 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 9bcb227ed9 test imports and exports 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 35e6b4a9f9 linker directive header fix 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury e7c808ee69 test simple lib link 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 120829095b COFF lib writer 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury ccf204d2f1 build target for torture 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 0f81aae985 extend COFF obj writer with ability to produce linker directive section 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 45ca147579 report test stats, and check the exit code 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury b0a652b10b helpers for parsing aux COFF symbols 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury f81bab5a4c remove special sort postfix case 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 63a374cf54 simplify COFF reloc apply helper 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury a5b3df7d1b check flags on custom bss section 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury 5cb682bcb3 check common block relocs and sort 2025-06-25 10:53:22 -07:00
Nikita SmithandRyan Fleury cede94f8d9 test for conflicting section header flags and common bss and common block
basic tests
2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury e9d5022a55 test section sorter 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury 0772617486 add relocation for shared symbol in abs_vs_regular test
test linker on base relocations to abs symbols
2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury 2a0929014b test weak tag 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury f39397fa78 test cycles made from weak symbols 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury 2c6db1b566 update COFF type enum strings 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury 174c6ebb7d bugfix data directory range export 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury f17ed8485d add tests for symbols with absolute address 2025-06-25 10:53:21 -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 c2a0a6f1e1 factored out format specific relocation code to COFF layer 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury ada037cb88 export range for data directories, subsystem, and check sum 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury f001f08e04 string compar funcs 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury 88d34eff54 simple link test 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury 19694dac2a test case for merged pdata 2025-06-25 10:53:21 -07:00
Nikita SmithandRyan Fleury b9768be4ed tester for linkers 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
Nikita Smith 08515428fb convert typedefs from PDB 2025-05-05 15:11:48 -07:00
Nikita Smith d3f8c1864d simplify aliases table and build basic types for unknown records 2025-05-05 15:03:53 -07:00
Nikita Smith cbe2783e0d always create RDI builtins 2025-05-05 15:03:53 -07:00
Nikita Smith e1ca449ccb revert type indices change 2025-05-05 10:19:13 -07:00
Nikita Smith e2266322d0 Revert "pass over PDB converter"
This reverts commit f1e88b5667.
2025-05-05 10:19:13 -07:00
Nikita Smith f7a3239294 utility for stripping debug info out of libs 2025-05-05 09:22:59 -07:00
Nikita Smith d98ea1cf6f parallel build targets 2025-04-21 10:19:56 -07:00
Nikita Smith d060cb58b7 disable import library for radlink build 2025-04-05 11:59:10 -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 1c1a8b84ec pass over raddump
- made inline sites section more compact
- consistent indentation for PE/COFF printers
2025-03-31 22:49:17 -07:00
Nikita Smith 03a87fd4ee cleaned up a bit symbol replacement logic 2025-03-31 22:47:57 -07:00
Nikita Smith 4cc883a353 update includes in rdi_breakpad_from_pdb 2025-03-27 15:49:15 -07:00
Nikita Smith c57b5fcd6d appease clang 2025-03-27 15:37:27 -07:00
Nikita Smith dab65d6523 deleted rdi_dump, all features of this dumper are now part of raddump 2025-03-27 15:18:43 -07:00
NikitaandGitHub 350c17a606 Update builds.yml
replaced rdi_dump with raddump
2025-03-27 15:17:50 -07:00
NikitaandGitHub 12628c679c Update builds.yml
remove rdi_from_dwarf
2025-03-27 15:10:57 -07:00
Nikita Smith 5ba981357d fix string cast warning 2025-03-27 15:01:16 -07:00
Nikita Smith 3c7c2918f6 replace pointers to incomplete types in UDT members 2025-03-27 13:47:47 -07:00
Nikita Smith 49ba163077 export CodeView types as aliases to its builtin counter-parts, 2025-03-27 13:47:47 -07:00
Nikita Smith 53c889e5d3 switched to using base Arch enum for converting DWARF registers,
simplified top level building path
2025-03-27 13:47:46 -07:00
Nikita Smith 14966d932e don't bake discarded type 2025-03-26 14:52:35 -07:00
Nikita Smith 8f7ca178c2 bugfix incomplete type resolution hash table lookup 2025-03-26 12:21:55 -07:00
Nikita Smith c80661449c added rest of XMM registers, more progress on converting expressions front 2025-03-26 12:19:16 -07:00
Nikita Smith e7cee3b83c helper for extract bits 2025-03-26 12:19:16 -07:00
Nikita Smith ff61ad4cf8 improved formatting of bytecode locations, and added inline site name display
next to inline site index
2025-03-26 12:19:16 -07:00
Nikita Smith 63086b802c opcodes for encoding partial values 2025-03-26 12:19:16 -07:00