aboutsummaryrefslogtreecommitdiff
path: root/src/debug
diff options
context:
space:
mode:
Diffstat (limited to 'src/debug')
-rw-r--r--src/debug/gosym/pclntab.go11
-rw-r--r--src/debug/gosym/pclntab_test.go14
2 files changed, 20 insertions, 5 deletions
diff --git a/src/debug/gosym/pclntab.go b/src/debug/gosym/pclntab.go
index 1aed5ed7e7..5832ded6ea 100644
--- a/src/debug/gosym/pclntab.go
+++ b/src/debug/gosym/pclntab.go
@@ -312,11 +312,12 @@ func (t *LineTable) go12Funcs() []Func {
f.LineTable = t
f.FrameSize = int(info.deferreturn())
syms[i] = Sym{
- Value: f.Entry,
- Type: 'T',
- Name: t.funcName(info.nameoff()),
- GoType: 0,
- Func: f,
+ Value: f.Entry,
+ Type: 'T',
+ Name: t.funcName(info.nameoff()),
+ GoType: 0,
+ Func: f,
+ goVersion: t.version,
}
f.Sym = &syms[i]
}
diff --git a/src/debug/gosym/pclntab_test.go b/src/debug/gosym/pclntab_test.go
index 04b5fcc283..e380bb5ad7 100644
--- a/src/debug/gosym/pclntab_test.go
+++ b/src/debug/gosym/pclntab_test.go
@@ -268,6 +268,20 @@ func TestPCLine(t *testing.T) {
}
}
+func TestSymVersion(t *testing.T) {
+ skipIfNotELF(t)
+
+ table := getTable(t)
+ if table.go12line == nil {
+ t.Skip("not relevant to Go 1.2+ symbol table")
+ }
+ for _, fn := range table.Funcs {
+ if fn.goVersion == verUnknown {
+ t.Fatalf("unexpected symbol version: %v", fn)
+ }
+ }
+}
+
// read115Executable returns a hello world executable compiled by Go 1.15.
//
// The file was compiled in /tmp/hello.go: