Lines Matching refs:elf
5 // Parsing of ELF executables (Linux, FreeBSD, and so on).
11 "debug/elf"
18 elf *elf.File
22 f, err := elf.NewFile(r)
30 elfSyms, err := f.elf.Symbols()
39 case elf.SHN_UNDEF:
41 case elf.SHN_COMMON:
45 if i < 0 || i >= len(f.elf.Sections) {
48 sect := f.elf.Sections[i]
49 switch sect.Flags & (elf.SHF_WRITE | elf.SHF_ALLOC | elf.SHF_EXECINSTR) {
50 case elf.SHF_ALLOC | elf.SHF_EXECINSTR:
52 case elf.SHF_ALLOC:
54 case elf.SHF_ALLOC | elf.SHF_WRITE:
58 if elf.ST_BIND(s.Info) == elf.STB_LOCAL {
68 if sect := f.elf.Section(".text"); sect != nil {
71 if sect := f.elf.Section(".gosymtab"); sect != nil {
76 if sect := f.elf.Section(".gopclntab"); sect != nil {
85 sect := f.elf.Section(".text")
95 switch f.elf.Machine {
96 case elf.EM_386:
98 case elf.EM_X86_64:
100 case elf.EM_ARM:
102 case elf.EM_AARCH64:
104 case elf.EM_PPC64:
105 if f.elf.ByteOrder == binary.LittleEndian {
109 case elf.EM_S390:
116 for _, p := range f.elf.Progs {
117 if p.Type == elf.PT_LOAD {
125 return f.elf.DWARF()