Commit Graph
100 Commits
Author SHA1 Message Date
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
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