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