Commit Graph
100 Commits
Author SHA1 Message Date
Nikita Smith 76213ec5cd switch to using 32-bit offsets for leaf records over the pointers 2026-02-15 23:11:51 -08:00
Nikita Smith 09e37a6a2e report unknown ignore codes only in debug builds 2026-02-13 22:10:42 -08:00
Nikita Smith 6fb055bf6e rename asan -> san 2026-02-13 22:07:41 -08:00
Nikita Smith 1f51c6f25b ubsan cleanup 2026-02-13 20:59:26 -08:00
Nikita Smith fbc3cbd6eb polish help in radlink 2026-02-13 19:17:53 -08:00
Nikita Smith 519bc154ec disable async for radlink 2026-02-13 17:33:18 -08:00
Nikita Smith 0315cce2ea track os_commit and os_decommit 2026-02-13 17:31:27 -08:00
Nikita Smith e14d3b7cdb correctly compute size_to_zero for new blocks 2026-02-13 17:29:48 -08:00
Nikita Smith d7a87b7765 share arena between type deduper and MSF 2026-02-13 16:06:54 -08:00
Nikita Smith f5fc3c66b7 reduce leaf hash table bucket size to 8 bytes 2026-02-13 15:03:51 -08:00
Nikita Smith c4b26184fc type warning fix 2026-02-12 13:12:05 -08:00
Nikita Smith 7720ba096e switch to 64-bit type hashes; 128-bits is unnecessary, CodeView can't
have more than 2^32 types
2026-02-12 13:11:36 -08:00
Nikita Smith 1e6df05d9f sort resource pointers 2026-02-11 17:20:38 -08:00
Nikita Smith aa25570904 improve memory usage when reporting unresolved symbols 2026-02-11 15:28:13 -08:00
Nikita Smith e8ca3e0d5c name tag arenas for the memory plots 2026-02-11 15:27:05 -08:00
Nikita Smith 56b89cc8cb plot arena memory usage 2026-02-11 15:26:22 -08:00
Nikita Smith 2a76188570 allocate a minimum cap hash table for the lib member infos 2026-02-11 13:53:37 -08:00
Nikita Smith 5aea3527c1 use-after-poison fix 2026-02-11 13:52:33 -08:00
Nikita Smith efc5855419 bake a predictable producer string 2026-02-11 13:45:25 -08:00
Nikita Smith 21adae63bf enable spec-conformant preprocessor in MSVC 2026-02-11 00:04:43 -08:00
Nikita Smith ddfeba8ae1 natvis for DWARF writer 2026-02-11 00:01:21 -08:00
Nikita Smith da6fd986f0 do not exit on failed call 2026-02-11 00:00:56 -08:00
Nikita Smith aaa5b0cb59 pass over DWARF dumper 2026-02-11 00:00:43 -08:00
Nikita Smith 031e24e1aa handle zero operand count 2026-02-10 23:59:09 -08:00
Nikita Smith ee8562ed97 fix type for the implicit const 2026-02-10 23:58:45 -08:00
Nikita Smith 69434278bd WIP DWARF writer 2026-02-10 23:57:43 -08:00
Nikita Smith ff82d9843c matcher for DW_Form 2026-02-10 15:27:57 -08:00
Nikita Smith 6e100ad52f make form_kind part of DW_Form 2026-02-10 15:27:27 -08:00
Nikita Smith 12f8f4e078 move DW_Form to the DWARF format header 2026-02-10 15:26:56 -08:00
Nikita Smith 988b0f5541 header guard typo 2026-02-09 23:42:09 -08:00
Nikita Smith 9b1a5ae8f8 minor fix 2026-02-09 23:41:33 -08:00
Nikita Smith 482a61aaf7 obj -> COFF serializer 2026-02-09 23:41:19 -08:00
Nikita Smith 33b1e25295 arch -> COFF machine 2026-02-09 23:40:31 -08:00
Nikita Smith 1579e6eae6 simplify serial pushes for u32 and u64 2026-02-09 23:40:10 -08:00
Nikita Smith d7ffea785f compact print abbrev data 2026-02-06 18:49:52 -08:00
Nikita Smith 71a46985b6 use string table extension for long section names 2026-02-05 19:45:35 -08:00
Nikita Smith 010f54674f test for LEB128 reader and writer 2026-02-05 19:45:35 -08:00
Nikita Smith b0d0b6a2b2 factor out LEB128 writer 2026-02-05 19:45:34 -08:00
Nikita Smith b44f79fe44 test section folding with different alignment 2026-02-05 19:45:34 -08:00
Nikita Smith 0c02e21284 WIP tests for ICF 2026-02-05 19:45:34 -08:00
Nikita Smith b6c74ae9bc update values in import_export test 2026-02-05 19:45:34 -08:00
Nikita Smith 0015e52d3c add /FAILIFMISMATCH 2026-02-05 19:45:34 -08:00
Nikita Smith 8b729d4588 refactored testing utility
- factored out common parts in tests into T_BeginTest and T_EndTest
- separated radlink and DWARF tests
2026-02-05 19:45:34 -08:00
Nikita Smith d363c30e95 copy out generic 2026-02-05 19:43:47 -08:00
Nikita Smith ae236f5ccf assert element size does not overflow the simple buffer in radsort 2026-02-05 19:43:47 -08:00
Nikita Smith 09472fafbd typo in the ordinal export sorter 2026-02-05 19:43:47 -08:00
Nikita Smith 15831c704f lock free hash trie 2026-02-05 17:46:10 -08:00
Nikita Smith edd982852e pass over DWARF converter
- prepare to thread line table conversion
- error handling
- organizational improvements
2026-02-05 17:43:20 -08:00
Nikita Smith 4b893d50ec implement swap and drop opcodes; stub out GNU_UnInit 2026-02-05 17:43:20 -08:00
Nikita Smith 5986e595ce eval type group for F80 and F128 2026-02-05 17:43:20 -08:00
Nikita Smith 7d4a64aae6 change size of immediate on Cond opcode to match Skip immediate size 2026-02-05 17:43:20 -08:00
Nikita Smith 2ccb6f6409 natvis 2026-02-05 17:43:19 -08:00
Nikita Smith 3bc9bacf6f update line table dumper; pipe down verbose switch to the DWARF dumper 2026-02-05 17:43:19 -08:00
Nikita Smith 469fbece3d fix check extension in attrib formatter 2026-02-05 17:43:19 -08:00
Nikita Smith 4f30f64914 switched to TryRead helper macro for parsing abbrev table and compile units 2026-02-05 17:43:19 -08:00
Nikita Smith cd70b7e1ec define default debug macros for third party code 2026-02-05 17:43:19 -08:00
Nikita Smith 3d6ca7d610 indent macros 2026-02-05 17:43:19 -08:00
Nikita Smith 6d8cbe8e60 fix stack reference 2026-02-05 17:43:19 -08:00
Nikita Smith 2ca68c1039 flush output buffer before formatting 2026-02-05 17:43:19 -08:00
Nikita Smith c81eafb656 fix memory poisoning for arenas allocated from an optional buffer 2026-02-05 17:43:19 -08:00
Nikita Smith dec5258c32 piece opcodes do not pop the stack 2026-02-05 17:43:19 -08:00
Nikita Smith 82169462a4 detect variable length array in upper bound and lower bound 2026-02-05 17:43:19 -08:00
Nikita Smith 2071e31f29 refactor bad read handling in DWARF parser 2026-02-05 17:43:19 -08:00
Nikita Smith 3abfb800a8 group forwarder and named exports and sort them together 2026-01-27 11:26:24 -08:00
Nikita Smith cc43d17496 bugfix export by ordinal 2026-01-27 11:25:54 -08:00
Nikita Smith 3113db2d08 add missing retry wraps around syscalls 2026-01-26 15:34:06 -08:00
Nikita Smith be350c4147 add cstr union field to String8 and remove char* casts from the Linux code 2026-01-22 14:04:40 -08:00
Nikita Smith e724ee8185 use /proc/pid/exe to extract ELF header 2026-01-22 13:59:12 -08:00
Nikita Smith e907d895c6 refactored Linux layer to use static types for the entities 2026-01-22 13:30:39 -08:00
Nikita Smith 1ecd970f31 STAP copy functions 2026-01-22 13:30:03 -08:00
Nikita Smith 7627ccf84e move str8 list pop to the base layer 2026-01-22 13:29:45 -08:00
Nikita Smith 29a7dfedac natvis type 2026-01-20 15:35:02 -08:00
Nikita Smith 4f95819eb0 by default linker creates a bind table 2026-01-20 15:33:00 -08:00
Nikita Smith 85df75c30b defer import link test 2026-01-20 15:27:40 -08:00
Nikita Smith 1c0e9030fa move lib member queue state to the link step and release it after link step is done 2026-01-20 15:27:31 -08:00
Nikita Smith d1b055c62f Ignore S_REGREL32 during conversion of optimized procedures.
In optimized builds, MSVC emits parameters as both S_LOCAL and S_REGREL32.
Most likely because their debugger relies on S_REGREL32 to format
parameters in the call stack window.
2026-01-20 14:47:03 -08:00
Nikita Smith a51d3fb752 fix case where return local without a type was converted to a parameter 2026-01-20 14:47:01 -08:00
Nikita Smith 0c4009c328 bugfix import member queue detection 2026-01-16 18:53:03 -08:00
Nikita Smith 8f47ce7616 filter out duplicate page entries before computing the buffer size 2026-01-16 18:52:55 -08:00
Nikita Smith 4ab89cd120 set default values for unload and nobind 2026-01-16 18:41:15 -08:00
Nikita Smith 0168448924 by default commit a page for heap and stack 2026-01-16 18:40:32 -08:00
Nikita Smith 6e32a1f11c ignore /EXPERIMENTAL 2026-01-15 18:29:37 -08:00
Nikita Smith 0c0b7ac6d3 bugfix import linking 2026-01-15 18:25:46 -08:00
Nikita Smith 2729aae982 natvis for linker types 2026-01-15 16:41:07 -08:00
Nikita Smith de164784d0 fix typos in runtime GNU struct parser 2026-01-12 19:06:29 -08:00
Nikita Smith 70d04ac807 clean up unused process fields 2026-01-12 16:48:31 -08:00
Nikita Smith 12b53f4174 move register layout struct to Linux OS layer; use only GPR portion of
the layout struct for reg r/w; handle orig_rax
2026-01-12 16:48:31 -08:00
Nikita Smith fd6c3ef0e0 move GNU and ELF specific struct readers to appropriate layers 2025-12-28 01:16:55 -08:00
Nikita Smith f150662cc4 update logic for tracking new threads 2025-12-20 14:41:01 -08:00
Nikita Smith 13ce0cf020 fix race condition in artifact cache 2025-12-19 17:34:35 -08:00
Nikita Smith 717781e0a3 adjust cursor by delta read size 2025-12-19 17:34:14 -08:00
Nikita Smith 99fe1bc2f2 typo 2025-12-18 20:06:20 -08:00
Nikita Smith cf849f7875 add missing GNU expr opcodes 2025-12-18 20:06:14 -08:00
Nikita Smith cc01c04b8a use p_vaddr for computing dynamic segment address 2025-12-18 20:05:47 -08:00
Nikita Smith ce4d09d431 WIP DW_OP_piece 2025-12-17 17:32:03 -08:00
Nikita Smith 43cb8b7b1a handle DW_Op_FBReg, DW_ExprOp_Deref, DW_ExprOp_BReg*, and DW_ExprOp_BRegX 2025-12-16 17:32:12 -08:00
Nikita Smith 0aea6c4e8f finish value in register test 2025-12-16 13:49:23 -08:00
Nikita Smith da57259379 move DWARF expressions test to the torture 2025-12-16 11:14:17 -08:00
Nikita Smith 823cbf6a72 missing func decls 2025-12-16 11:13:56 -08:00
Nikita Smith 2b4e0f8b77 WIP DWARF expression eval
- fixup jump offsets after expression is serialized
- use generalized machine ops for register reads
- add option to limit number of executed opcodes
2025-12-16 11:12:43 -08:00