From 9970d205c30c1d6f7ae667c0817cd22cecd406f6 Mon Sep 17 00:00:00 2001 From: Tommy Reilly Date: Tue, 12 Aug 2025 09:56:21 -0400 Subject: [PATCH] Make golabels only do debug logging on stripped Go binaries, this is apparently very common. --- interpreter/golabels/tls_amd64.go | 3 ++- interpreter/golabels/tls_arm64.go | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/interpreter/golabels/tls_amd64.go b/interpreter/golabels/tls_amd64.go index 4ed9d6947..61c721c05 100644 --- a/interpreter/golabels/tls_amd64.go +++ b/interpreter/golabels/tls_amd64.go @@ -18,7 +18,8 @@ import ( func extractTLSGOffset(f *pfelf.File, path string) (int32, error) { syms, err := f.ReadSymbols() if err != nil { - return 0, err + log.Debugf("Failed to find symbols (%v) using default TLSG offset", err) + return -8, nil } // Dump of assembler code for function runtime.stackcheck: // 0x0000000000470080 <+0>: mov %fs:0xfffffffffffffff8,%rax diff --git a/interpreter/golabels/tls_arm64.go b/interpreter/golabels/tls_arm64.go index 406748a0d..bb9e827fd 100644 --- a/interpreter/golabels/tls_arm64.go +++ b/interpreter/golabels/tls_arm64.go @@ -29,7 +29,8 @@ func extractTLSGOffset(f *pfelf.File, path string) (int32, error) { syms, err := f.ReadSymbols() if err != nil { - return 0, err + log.Debugf("Failed to find symbols (%v) using default TLSG offset", err) + return 0, nil } sym, err := syms.LookupSymbol("runtime.load_g.abi0") if err != nil {