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
Nikita Smith
d5811b7748
binary search for U64 and Rng1U64 arrays
2025-03-03 17:04:07 -08:00
Nikita Smith
a06f576161
detect and error out on PDB linked with /DEBUG:FASTLINK
2025-02-25 14:42:10 -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
8a8a8bcc8d
resource id compar typo
2025-02-25 14:41:34 -08:00
Nikita Smith
1d441bac30
minor fixes and renames in DWARF enums
2025-02-25 14:41:16 -08:00
Nikita Smith
90c05d56b5
added zlib decompressor for DWARF extraction
2025-02-25 14:41:16 -08:00
Nikita Smith
b74c304f39
added ELF header and parser
2025-02-25 14:41:15 -08:00
Nikita Smith
87ae363292
print file path in DW_Attrib_DeclFile
2025-02-25 14:41:15 -08:00
Nikita Smith
ea6a84ca57
helper for extracting DWARF sections in COFF files
2025-02-25 14:41:15 -08:00
Nikita Smith
8d9f85bfcc
move magic check to PE layer
2025-02-25 14:41:15 -08:00
Nikita Smith
d9874e8f2f
bugfix resource compar
2025-02-02 00:06:07 -08:00
Nikita Smith
76b83794b2
added printer for .res files
2025-02-01 23:50:30 -08:00
Nikita Smith
0a0742aa0e
remove unused enum fields
2025-01-29 16:28:02 -08:00
Nikita Smith
e114ea7fdb
hook RDI printers to the dumper
2025-01-29 16:27:15 -08:00
Nikita Smith
5c1e219901
minor prof fix
2025-01-29 16:26:02 -08:00
Nikita Smith
497f0e45d6
WIP merging RDI dump into RAD Dumper
2025-01-29 10:47:18 -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
409905c983
yank out shared mutex impl
...
Initially shared mutex was needed to lock cores so thread pool
executes one parallel for at a time but on machine with high core count
we cant saturate processor all the time so we switched to shared semaphore
and block thread when all cores are busy.
2025-01-25 11:46:25 -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
Nikita Smith
b18060ef0d
on crash CRT randomly wont flush stdout
2025-01-23 20:45:25 -08:00
Nikita Smith
b463c8087d
copy alternate name strings
2025-01-23 20:44:14 -08:00
Nikita Smith
71b0dfa150
bugfix for uninited memory
2025-01-23 20:39:06 -08:00
Nikita Smith
b007e4c0e5
printer for S_LABEL
2025-01-23 20:38:43 -08:00
Nikita Smith
53db7ee712
fix symbol table printer for big objs
2025-01-21 11:29:28 -08:00
Nikita Smith
aa4ec903a6
update LF_STRUCT2 printer
2025-01-21 11:29:12 -08:00
Nikita Smith
c6d28b97b7
more details for LF_STRUCT2
2025-01-21 11:14:12 -08:00
Nikita Smith
61307aefbc
reworked thread pool to share workers via semaphore
2025-01-21 01:55:13 -08:00
Nikita Smith
85ea141b83
minor fixes
2025-01-20 21:53:45 -08:00
Nikita Smith
d3fbc858b8
impl shared thread pool mode
2025-01-20 21:41:24 -08:00
Nikita Smith
e1e7fb745e
win32 shared mutex impl and linux stubs
2025-01-20 21:36:43 -08:00
Nikita Smith
153bbc7b1d
pass over COFF layer
...
- updated naming convention on structs, enums, and macros to conform with code base style
- moved related structs closer to each other
- moved parser code to separate file
2025-01-20 19:31:52 -08:00