From 294ede01a2f7b7e16489cef077808508d03937b5 Mon Sep 17 00:00:00 2001 From: Nikita Smith Date: Sat, 11 Apr 2026 14:16:07 -0700 Subject: [PATCH] skip empty hash table adjuster --- src/linker/pdb_ext/pdb_builder.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/linker/pdb_ext/pdb_builder.c b/src/linker/pdb_ext/pdb_builder.c index e88b40b2..782fb53c 100644 --- a/src/linker/pdb_ext/pdb_builder.c +++ b/src/linker/pdb_ext/pdb_builder.c @@ -904,8 +904,6 @@ pdb_type_hash_stream_build(TP_Context *tp, ProfEnd(); } - // write bucket adjust info - String8 hash_adj_data = pdb_data_from_hash_adj_hash_table(scratch.arena, &ts->hash_adj, strtab); ProfBegin("MSF Write"); @@ -925,10 +923,14 @@ pdb_type_hash_stream_build(TP_Context *tp, hint_offs.size = sizeof(hint_arr[0]) * hint_count; msf_stream_write(msf, ts->hash_sn, &hint_arr[0], hint_offs.size); - PDB_OffsetSize hash_adj; - hash_adj.off = msf_stream_get_pos(msf, ts->hash_sn); - hash_adj.size = hash_adj_data.size; - msf_stream_write_string(msf, ts->hash_sn, hash_adj_data); + PDB_OffsetSize hash_adj = {0}; + if (ts->hash_adj.count) { + // write bucket adjust info + String8 hash_adj_data = pdb_data_from_hash_adj_hash_table(scratch.arena, &ts->hash_adj, strtab); + hash_adj.off = msf_stream_get_pos(msf, ts->hash_sn); + hash_adj.size = hash_adj_data.size; + msf_stream_write_string(msf, ts->hash_sn, hash_adj_data); + } ProfEnd();