blob: 6053d99acc1a0be268647096a8884921cf7ad3d6 [file] [log] [blame]
// Copyright 2014 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 elf
import (
"io"
"path"
"reflect"
"testing"
)
// TODO: remove duplicate code
func TestSymbols(t *testing.T) {
do := func(file string, ts []Symbol, getfunc func(*File) ([]Symbol, error)) {
var f *File
var err error
if path.Ext(file) == ".gz" {
var r io.ReaderAt
if r, err = decompress(file); err == nil {
f, err = NewFile(r)
}
} else {
f, err = Open(file)
}
if err != nil {
t.Errorf("TestSymbols: cannot open file %s: %v", file, err)
return
}
defer f.Close()
fs, err := getfunc(f)
if err != nil && err != ErrNoSymbols {
t.Error(err)
return
} else if err == ErrNoSymbols {
fs = []Symbol{}
}
if !reflect.DeepEqual(ts, fs) {
t.Errorf("%s: Symbols = %v, want %v", file, fs, ts)
}
for i, s := range fs {
if s.HasVersion {
// No hidden versions here.
if s.VersionIndex.IsHidden() {
t.Errorf("%s: symbol %d: unexpected hidden version", file, i)
}
if got, want := s.VersionIndex.Index(), uint16(s.VersionIndex); got != want {
t.Errorf("%s: symbol %d: VersionIndex.Index() == %d, want %d", file, i, got, want)
}
}
}
}
for file, ts := range symbolsGolden {
do(file, ts, (*File).Symbols)
}
for file, ts := range dynamicSymbolsGolden {
do(file, ts, (*File).DynamicSymbols)
}
}
// golden symbol table data generated by testdata/getgoldsym.c
var symbolsGolden = map[string][]Symbol{
"testdata/gcc-amd64-linux-exec": {
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x1,
Value: 0x400200,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x2,
Value: 0x40021C,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x3,
Value: 0x400240,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x4,
Value: 0x400268,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x5,
Value: 0x400288,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x6,
Value: 0x4002E8,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x7,
Value: 0x400326,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x8,
Value: 0x400330,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x9,
Value: 0x400350,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xA,
Value: 0x400368,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xB,
Value: 0x400398,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xC,
Value: 0x4003B0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xD,
Value: 0x4003E0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xE,
Value: 0x400594,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xF,
Value: 0x4005A4,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x10,
Value: 0x4005B8,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x11,
Value: 0x4005E0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x12,
Value: 0x600688,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x13,
Value: 0x600698,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x14,
Value: 0x6006A8,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x15,
Value: 0x6006B0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x16,
Value: 0x600850,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x17,
Value: 0x600858,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x18,
Value: 0x600880,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x19,
Value: 0x600898,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x1A,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x1B,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x1C,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x1D,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x1E,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x1F,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x20,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x21,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "init.c",
Info: 0x4,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xFFF1,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "initfini.c",
Info: 0x4,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xFFF1,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "call_gmon_start",
Info: 0x2,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xD,
Value: 0x40040C,
Size: 0x0,
},
Symbol{
Name: "crtstuff.c",
Info: 0x4,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xFFF1,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "__CTOR_LIST__",
Info: 0x1,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x12,
Value: 0x600688,
Size: 0x0,
},
Symbol{
Name: "__DTOR_LIST__",
Info: 0x1,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x13,
Value: 0x600698,
Size: 0x0,
},
Symbol{
Name: "__JCR_LIST__",
Info: 0x1,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x14,
Value: 0x6006A8,
Size: 0x0,
},
Symbol{
Name: "__do_global_dtors_aux",
Info: 0x2,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xD,
Value: 0x400430,
Size: 0x0,
},
Symbol{
Name: "completed.6183",
Info: 0x1,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x19,
Value: 0x600898,
Size: 0x1,
},
Symbol{
Name: "p.6181",
Info: 0x1,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x18,
Value: 0x600890,
Size: 0x0,
},
Symbol{
Name: "frame_dummy",
Info: 0x2,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xD,
Value: 0x400470,
Size: 0x0,
},
Symbol{
Name: "crtstuff.c",
Info: 0x4,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xFFF1,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "__CTOR_END__",
Info: 0x1,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x12,
Value: 0x600690,
Size: 0x0,
},
Symbol{
Name: "__DTOR_END__",
Info: 0x1,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x13,
Value: 0x6006A0,
Size: 0x0,
},
Symbol{
Name: "__FRAME_END__",
Info: 0x1,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x11,
Value: 0x400680,
Size: 0x0,
},
Symbol{
Name: "__JCR_END__",
Info: 0x1,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x14,
Value: 0x6006A8,
Size: 0x0,
},
Symbol{
Name: "__do_global_ctors_aux",
Info: 0x2,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xD,
Value: 0x400560,
Size: 0x0,
},
Symbol{
Name: "initfini.c",
Info: 0x4,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xFFF1,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "hello.c",
Info: 0x4,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xFFF1,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "_GLOBAL_OFFSET_TABLE_",
Info: 0x1,
Other: 0x2,
HasVersion: false,
VersionIndex: 0,
Section: 0x17,
Value: 0x600858,
Size: 0x0,
},
Symbol{
Name: "__init_array_end",
Info: 0x0,
Other: 0x2,
HasVersion: false,
VersionIndex: 0,
Section: 0x12,
Value: 0x600684,
Size: 0x0,
},
Symbol{
Name: "__init_array_start",
Info: 0x0,
Other: 0x2,
HasVersion: false,
VersionIndex: 0,
Section: 0x12,
Value: 0x600684,
Size: 0x0,
},
Symbol{
Name: "_DYNAMIC",
Info: 0x1,
Other: 0x2,
HasVersion: false,
VersionIndex: 0,
Section: 0x15,
Value: 0x6006B0,
Size: 0x0,
},
Symbol{
Name: "data_start",
Info: 0x20,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x18,
Value: 0x600880,
Size: 0x0,
},
Symbol{
Name: "__libc_csu_fini",
Info: 0x12,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xD,
Value: 0x4004C0,
Size: 0x2,
},
Symbol{
Name: "_start",
Info: 0x12,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xD,
Value: 0x4003E0,
Size: 0x0,
},
Symbol{
Name: "__gmon_start__",
Info: 0x20,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x0,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "_Jv_RegisterClasses",
Info: 0x20,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x0,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "puts@@GLIBC_2.2.5",
Info: 0x12,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x0,
Value: 0x0,
Size: 0x18C,
},
Symbol{
Name: "_fini",
Info: 0x12,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xE,
Value: 0x400594,
Size: 0x0,
},
Symbol{
Name: "__libc_start_main@@GLIBC_2.2.5",
Info: 0x12,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x0,
Value: 0x0,
Size: 0x1C2,
},
Symbol{
Name: "_IO_stdin_used",
Info: 0x11,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xF,
Value: 0x4005A4,
Size: 0x4,
},
Symbol{
Name: "__data_start",
Info: 0x10,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x18,
Value: 0x600880,
Size: 0x0,
},
Symbol{
Name: "__dso_handle",
Info: 0x11,
Other: 0x2,
HasVersion: false,
VersionIndex: 0,
Section: 0x18,
Value: 0x600888,
Size: 0x0,
},
Symbol{
Name: "__libc_csu_init",
Info: 0x12,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xD,
Value: 0x4004D0,
Size: 0x89,
},
Symbol{
Name: "__bss_start",
Info: 0x10,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xFFF1,
Value: 0x600898,
Size: 0x0,
},
Symbol{
Name: "_end",
Info: 0x10,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xFFF1,
Value: 0x6008A0,
Size: 0x0,
},
Symbol{
Name: "_edata",
Info: 0x10,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xFFF1,
Value: 0x600898,
Size: 0x0,
},
Symbol{
Name: "main",
Info: 0x12,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xD,
Value: 0x400498,
Size: 0x1B,
},
Symbol{
Name: "_init",
Info: 0x12,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xB,
Value: 0x400398,
Size: 0x0,
},
},
"testdata/go-relocation-test-clang-x86.obj": {
Symbol{
Name: "go-relocation-test-clang.c",
Info: 0x4,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xFFF1,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: ".Linfo_string0",
Info: 0x0,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xC,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: ".Linfo_string1",
Info: 0x0,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xC,
Value: 0x2C,
Size: 0x0,
},
Symbol{
Name: ".Linfo_string2",
Info: 0x0,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xC,
Value: 0x47,
Size: 0x0,
},
Symbol{
Name: ".Linfo_string3",
Info: 0x0,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xC,
Value: 0x4C,
Size: 0x0,
},
Symbol{
Name: ".Linfo_string4",
Info: 0x0,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xC,
Value: 0x4E,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x1,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x2,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x3,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x4,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x6,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x7,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x8,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xA,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xC,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xD,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xE,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xF,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "",
Info: 0x3,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0x10,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "v",
Info: 0x11,
Other: 0x0,
HasVersion: false,
VersionIndex: 0,
Section: 0xFFF2,
Value: 0x4,
Size: 0x4,
},
},
"testdata/hello-world-core.gz": {},
}
var dynamicSymbolsGolden = map[string][]Symbol{
"testdata/gcc-amd64-linux-exec": {
Symbol{
Name: "__gmon_start__",
Info: 0x20,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x0,
Section: 0x0,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "puts",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x2,
Section: 0x0,
Value: 0x0,
Size: 0x18C,
Version: "GLIBC_2.2.5",
Library: "libc.so.6",
},
Symbol{
Name: "__libc_start_main",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x2,
Section: 0x0,
Value: 0x0,
Size: 0x1C2,
Version: "GLIBC_2.2.5",
Library: "libc.so.6",
},
},
"testdata/go-relocation-test-clang-x86.obj": {},
"testdata/hello-world-core.gz": {},
"testdata/libtiffxx.so_": {
Symbol{
Name: "_ZNSo3putEc",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x3,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBCXX_3.4",
Library: "libstdc++.so.6",
},
Symbol{
Name: "strchr",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x4,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBC_2.2.5",
Library: "libc.so.6",
},
Symbol{
Name: "__cxa_finalize",
Info: 0x22,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x4,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBC_2.2.5",
Library: "libc.so.6",
},
Symbol{
Name: "_ZNSo5tellpEv",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x3,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBCXX_3.4",
Library: "libstdc++.so.6",
},
Symbol{
Name: "_ZNSo5seekpElSt12_Ios_Seekdir",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x3,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBCXX_3.4",
Library: "libstdc++.so.6",
},
Symbol{
Name: "_Znwm",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x3,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBCXX_3.4",
Library: "libstdc++.so.6",
},
Symbol{
Name: "_ZdlPvm",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x5,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "CXXABI_1.3.9",
Library: "libstdc++.so.6",
},
Symbol{
Name: "__stack_chk_fail",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x6,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBC_2.4",
Library: "libc.so.6",
},
Symbol{
Name: "_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x7,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBCXX_3.4.9",
Library: "libstdc++.so.6",
},
Symbol{
Name: "_ZNSo5seekpESt4fposI11__mbstate_tE",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x3,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBCXX_3.4",
Library: "libstdc++.so.6",
},
Symbol{
Name: "_ZNSi4readEPcl",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x3,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBCXX_3.4",
Library: "libstdc++.so.6",
},
Symbol{
Name: "_ZNSi5seekgESt4fposI11__mbstate_tE",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x3,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBCXX_3.4",
Library: "libstdc++.so.6",
},
Symbol{
Name: "_ZNSo5writeEPKcl",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x3,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBCXX_3.4",
Library: "libstdc++.so.6",
},
Symbol{
Name: "_ZNSi5seekgElSt12_Ios_Seekdir",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x3,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBCXX_3.4",
Library: "libstdc++.so.6",
},
Symbol{
Name: "_ZSt21ios_base_library_initv",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x8,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBCXX_3.4.32",
Library: "libstdc++.so.6",
},
Symbol{
Name: "TIFFClientOpen",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x9,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "LIBTIFF_4.0",
Library: "libtiff.so.6",
},
Symbol{
Name: "_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x3,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBCXX_3.4",
Library: "libstdc++.so.6",
},
Symbol{
Name: "_ZNSi5tellgEv",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x3,
Section: 0x0,
Value: 0x0,
Size: 0x0,
Version: "GLIBCXX_3.4",
Library: "libstdc++.so.6",
},
Symbol{
Name: "_ITM_deregisterTMCloneTable",
Info: 0x20,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x1,
Section: 0x0,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "__gmon_start__",
Info: 0x20,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x1,
Section: 0x0,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "_ITM_registerTMCloneTable",
Info: 0x20,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x1,
Section: 0x0,
Value: 0x0,
Size: 0x0,
},
Symbol{
Name: "LIBTIFFXX_4.0",
Info: 0x11,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x2,
Section: 0xFFF1,
Value: 0x0,
Size: 0x0,
Version: "LIBTIFFXX_4.0",
Library: "",
},
Symbol{
Name: "_Z14TIFFStreamOpenPKcPSo",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x2,
Section: 0xF,
Value: 0x1860,
Size: 0xB8,
Version: "LIBTIFFXX_4.0",
Library: "",
},
Symbol{
Name: "_Z14TIFFStreamOpenPKcPSi",
Info: 0x12,
Other: 0x0,
HasVersion: true,
VersionIndex: 0x2,
Section: 0xF,
Value: 0x1920,
Size: 0x13,
Version: "LIBTIFFXX_4.0",
Library: "",
},
},
}