Nikita Smith and Ryan Fleury
86fe2ddd38
remove arena per section
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
8da56025b3
patch section symbol and test for relocations to discarded memory
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
40fda5335c
move default section flags to separate file to use them in torture
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
bd830a6023
test case for relocation to undefined section with base relocations
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
f25dc5cc8d
pack export table into obj and input back to the linker
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
c5164bd490
discard null data nodes
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
3ffd8c19ea
helper for querying machine specific relocation for virtual offset relocation
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
c55c60549e
export virtual ranges for data directories
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
f37f94a2b9
minor fixes
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
4161dd0440
check export table entries
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
9bcb227ed9
test imports and exports
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
35e6b4a9f9
linker directive header fix
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
e7c808ee69
test simple lib link
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
3a7afcd80c
replace linker lib writer with one from COFF
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
120829095b
COFF lib writer
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
ccf204d2f1
build target for torture
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
7c071e7238
linker checkpoint
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
a60216fa9f
minor fixes in hash table
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
0f81aae985
extend COFF obj writer with ability to produce linker directive section
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
45ca147579
report test stats, and check the exit code
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
b0a652b10b
helpers for parsing aux COFF symbols
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
f81bab5a4c
remove special sort postfix case
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
63a374cf54
simplify COFF reloc apply helper
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
a5b3df7d1b
check flags on custom bss section
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan Fleury
5cb682bcb3
check common block relocs and sort
2025-06-25 10:53:22 -07:00
Nikita Smith and Ryan 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 Smith and Ryan Fleury
e9d5022a55
test section sorter
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan 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 Smith and Ryan Fleury
2a0929014b
test weak tag
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
f39397fa78
test cycles made from weak symbols
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
2c6db1b566
update COFF type enum strings
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
174c6ebb7d
bugfix data directory range export
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
f17ed8485d
add tests for symbols with absolute address
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
01c905dbbd
reuse import table flags, and parameterize data directory count
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
c56cfefe09
move rsp unwrapper to config
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
3875b057d7
delete string compars form linker layer
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
c2a0a6f1e1
factored out format specific relocation code to COFF layer
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
ada037cb88
export range for data directories, subsystem, and check sum
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
f001f08e04
string compar funcs
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
88d34eff54
simple link test
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
19694dac2a
test case for merged pdata
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
b9768be4ed
tester for linkers
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan 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 Smith and Ryan Fleury
3a2bb318c7
make import lib objs with COFF obj writer
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
e580b69180
make linker obj with COFF obj writer
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan Fleury
c45088b546
replaced dependency on linker's chunking for resource serialization
...
with COFF obj writer
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan 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 Smith and Ryan Fleury
307d3a7f4b
check obj compatibility before initializing them
2025-06-25 10:53:21 -07:00
Nikita Smith and Ryan 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
Nikita and GitHub
350c17a606
Update builds.yml
...
replaced rdi_dump with raddump
2025-03-27 15:17:50 -07:00
Nikita and GitHub
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
Nikita Smith
64b8f762cb
fix bytecode list concat
2025-03-26 12:19:16 -07:00
Nikita Smith
d137d928c9
added call site value opcode to RDI format
2025-03-26 12:19:16 -07:00
Nikita Smith
8551e8c3ec
remove unused funcs
2025-03-26 12:19:16 -07:00
Nikita Smith
801b18a82d
bugfix machine conversion in PDB and improved inference of conversion drivers
2025-03-26 12:19:16 -07:00
Nikita Smith
a63254b70d
merged rdim_help.c into rdim_local.c
2025-03-26 12:19:16 -07:00
Nikita Smith
7d5110e752
take into account null type slot
2025-03-26 12:18:47 -07:00
Nikita Smith
b10b08783a
WIP RAD debug info converter
2025-03-26 12:18:47 -07:00
Nikita Smith
a84028d67a
helper for checking if ELF has DWARF debug sections
2025-03-26 12:18:47 -07:00
Nikita Smith
b9c4774786
minor fixes
2025-03-26 12:18:46 -07:00
Nikita Smith
2e6ffbd0c4
fixed typo in attrib class for DW_Form_RngListx
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
1ec1deedee
moved MSF magic checkers to msf.c
2025-03-26 12:18:46 -07:00
Nikita Smith
0c3a37af44
helper for extracting GNU debug link info
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
344cd8ffbf
use djb2 hash for now
2025-03-17 14:20:40 -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
57208909f1
updated DWARF expression printer, added ELF preamble,
...
transitioned debug info and debug line printers to new parser
2025-03-17 10:28:56 -07:00