diff options
Diffstat (limited to 'src/cmd/oldlink/internal/ld/elf_test.go')
-rw-r--r-- | src/cmd/oldlink/internal/ld/elf_test.go | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/src/cmd/oldlink/internal/ld/elf_test.go b/src/cmd/oldlink/internal/ld/elf_test.go deleted file mode 100644 index 8e86beb1ec..0000000000 --- a/src/cmd/oldlink/internal/ld/elf_test.go +++ /dev/null @@ -1,79 +0,0 @@ -// +build cgo - -// Copyright 2019 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package ld - -import ( - "debug/elf" - "internal/testenv" - "io/ioutil" - "os" - "os/exec" - "path/filepath" - "testing" -) - -func TestDynSymShInfo(t *testing.T) { - t.Parallel() - testenv.MustHaveGoBuild(t) - dir, err := ioutil.TempDir("", "go-build-issue33358") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(dir) - - const prog = ` -package main - -import "net" - -func main() { - net.Dial("", "") -} -` - src := filepath.Join(dir, "issue33358.go") - if err := ioutil.WriteFile(src, []byte(prog), 0666); err != nil { - t.Fatal(err) - } - - binFile := filepath.Join(dir, "issue33358") - cmd := exec.Command(testenv.GoToolPath(t), "build", "-o", binFile, src) - if out, err := cmd.CombinedOutput(); err != nil { - t.Fatalf("%v: %v:\n%s", cmd.Args, err, out) - } - - fi, err := os.Open(binFile) - if err != nil { - t.Fatalf("failed to open built file: %v", err) - } - - elfFile, err := elf.NewFile(fi) - if err != nil { - t.Skip("The system may not support ELF, skipped.") - } - - section := elfFile.Section(".dynsym") - if section == nil { - t.Fatal("no dynsym") - } - - symbols, err := elfFile.DynamicSymbols() - if err != nil { - t.Fatalf("failed to get dynamic symbols: %v", err) - } - - var numLocalSymbols uint32 - for i, s := range symbols { - if elf.ST_BIND(s.Info) != elf.STB_LOCAL { - numLocalSymbols = uint32(i + 1) - break - } - } - - if section.Info != numLocalSymbols { - t.Fatalf("Unexpected sh info, want greater than 0, got: %d", section.Info) - } -} |