From 90fda043a0fef39554cd26c571ecb2bed5592d15 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 22 May 2026 08:15:38 +0000 Subject: [PATCH] 6l: call dwarfaddfrag when registering D_FILE symbols ftab (the file fragment table used by dwarf.c's decodez()) was never populated, causing every z entry lookup to fail with "corrupt z entry". Register each new SFILE symbol's fragment string into ftab via dwarfaddfrag() at the same point histgen is assigned. https://claude.ai/code/session_01WGAwvvTwDg2yknFkmZ3qzs --- sys/src/cmd/6l/obj.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/src/cmd/6l/obj.c b/sys/src/cmd/6l/obj.c index 94c3c03bd..3c7847ea8 100644 --- a/sys/src/cmd/6l/obj.c +++ b/sys/src/cmd/6l/obj.c @@ -1,6 +1,7 @@ #define EXTERN #include "l.h" #include "../ld/elf.h" +#include "../ld/dwarf.h" #include #ifndef DEFAULT @@ -854,6 +855,7 @@ ldobj(int f, long c, char *pn) histgen++; s->type = SFILE; s->value = histgen; + dwarfaddfrag(s->value, s->name+1); } if(histfrogp < MAXHIST) { histfrog[histfrogp] = s;