aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/oldlink/internal/ld/elf_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/oldlink/internal/ld/elf_test.go')
-rw-r--r--src/cmd/oldlink/internal/ld/elf_test.go79
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)
- }
-}