From 4d7daa11a4ddf84ac91f634364ee84704d1cced4 Mon Sep 17 00:00:00 2001 From: pagran Date: Mon, 9 Jan 2023 13:30:00 +0100 Subject: [PATCH 1/2] add custom magic value --- cmd/link/internal/ld/pcln.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cmd/link/internal/ld/pcln.go b/cmd/link/internal/ld/pcln.go index 34ab86cf12..b89a4d650c 100644 --- a/cmd/link/internal/ld/pcln.go +++ b/cmd/link/internal/ld/pcln.go @@ -249,6 +249,19 @@ func (state *pclntab) generatePCHeader(ctxt *Link) { if off != size { panic(fmt.Sprintf("pcHeader size: %d != %d", off, size)) } + + // Use garble prefix in variable names to minimize collision risk + garbleMagicStr := os.Getenv("GARBLE_LINK_MAGIC") + if garbleMagicStr == "" { + panic("[garble] magic value must be set") + } + var garbleMagicVal uint32 + // Use fmt package instead of strconv to avoid importing a new package + if _, err := fmt.Sscan(garbleMagicStr, &garbleMagicVal); err != nil { + panic(fmt.Errorf("[garble] invalid magic value %s: %v", garbleMagicStr, err)) + } + + header.SetUint32(ctxt.Arch, 0, garbleMagicVal) } state.pcheader = state.addGeneratedSym(ctxt, "runtime.pcheader", size, writeHeader) -- 2.38.1.windows.1