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
Nikita Smith
f1e88b5667
pass over PDB converter
...
- moved incomplete type resolution from the converter to RDI make helper
layer so we don't need to duplicate code in DWARF converter
- changed code for building basic types to handle various data models
2025-03-13 23:04:40 -07:00
Nikita Smith
631106b0a8
natvis for RDI Make types
2025-03-12 14:52:09 -07:00
Nikita Smith
3eedcb1912
initialize frame base in interp context
2025-03-12 14:49:14 -07:00
Nikita Smith
44249f35fc
pass over the make RDI library
...
- Handle type layout in the library so converts simply
define type graph and let the library handle DAG layout.
- Changed location baking. For now the library waits for scope, procs,
global vars, and thread vars steps to serially finish because
of common dependency on location sections, we need to parallel for each step.
- Changed encoded offset size for RDI_EvalOp_FrameOff to 8 bytes
(1 byte is not enough to cover all cases)
- Added frame base location to RDI_Procedure (WASM encodes frame base
as an index into a global array and so we have to resolve the base
at runtime).
2025-03-10 16:49:54 -07:00
Nikita Smith
5717d6c54c
export restrict modifier
2025-03-04 13:26:24 -08:00
Nikita Smith
4e775d5b6c
hash table helper
2025-03-04 11:39:26 -08:00
Nikita Smith
dfd6950ff3
deleted obsolete DWARF parser files
2025-03-03 17:20:22 -08:00
Nikita Smith
2ba1a0d502
pass over DWARF header
...
- added new types
- renamed mode -> format
- fixed section naming
- added helper for picking array lower bound
2025-03-03 17:14:22 -08:00
Nikita Smith
ed897979ca
added fields for user defined ELF types
2025-03-03 17:11:52 -08:00
Nikita Smith
6c425aa9dc
misc NATVIS types
2025-03-03 17:10:44 -08:00
Nikita Smith
35ed8d6a1e
bugfixed zero-length block decomp and fixed 64-bit casts
2025-03-03 17:10:06 -08:00
Nikita Smith
8b4f97223e
moved async bakers from PDB converter to a stand-alone file to reuse
...
them in DWARF converter
2025-03-03 17:09:01 -08:00
Nikita Smith
53bff614e6
moved LEB helpers to DWARF layer
2025-03-03 17:06:58 -08:00