func getData(file string) (*Data, error) { switch runtime.GOOS { case "linux": f, err := elf.Open(file) if err != nil { return nil, err } dwarf, err := f.DWARF() if err != nil { return nil, err } f.Close() return dwarf, nil case "darwin": f, err := macho.Open(file) if err != nil { return nil, err } dwarf, err := f.DWARF() if err != nil { return nil, err } f.Close() return dwarf, nil } panic("unimplemented DWARF for GOOS=" + runtime.GOOS) }
func elfData(t *testing.T, name string) *Data { f, err := elf.Open(name) if err != nil { t.Fatal(err) } d, err := f.DWARF() if err != nil { t.Fatal(err) } return d }