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