xref: /llvm-project/llvm/test/Object/relocation-executable.test (revision e29e30b1397f3e50f3487491f8a77ae08e4e3471)
1*e29e30b1SFangrui SongRUN: llvm-readobj -r --expand-relocs %p/Inputs/hello-world.elf-x86-64 \
21e483879SRafael EspindolaRUN:   | FileCheck %s
3*e29e30b1SFangrui SongRUN: llvm-readobj --dyn-relocations --expand-relocs \
4594c0281SMichael J. SpencerRUN:   %p/Inputs/hello-world.elf-x86-64 | FileCheck %s --check-prefix=DYN
51e483879SRafael Espindola
61e483879SRafael Espindola// CHECK:     Relocations [
74f60a38fSRafael Espindola// CHECK-NEXT:  Section (8) .rela.dyn {
84f60a38fSRafael Espindola// CHECK-NEXT:    Relocation {
94f60a38fSRafael Espindola// CHECK-NEXT:      Offset: 0x4018D8
104f60a38fSRafael Espindola// CHECK-NEXT:      Type: R_X86_64_GLOB_DAT (6)
114f60a38fSRafael Espindola// CHECK-NEXT:      Symbol: __gmon_start__
124f60a38fSRafael Espindola// CHECK-NEXT:      Addend: 0x0
134f60a38fSRafael Espindola// CHECK-NEXT:    }
144f60a38fSRafael Espindola// CHECK-NEXT:  }
154f60a38fSRafael Espindola// CHECK-NEXT:  Section (9) .rela.plt {
161e483879SRafael Espindola// CHECK-NEXT:    Relocation {
171e483879SRafael Espindola// CHECK-NEXT:      Offset: 0x4018F8
181e483879SRafael Espindola// CHECK-NEXT:      Type: R_X86_64_JUMP_SLOT (7)
191e483879SRafael Espindola// CHECK-NEXT:      Symbol: __libc_start_main
200d15f731SRafael Espindola// CHECK-NEXT:      Addend: 0x0
211e483879SRafael Espindola// CHECK-NEXT:    }
221e483879SRafael Espindola// CHECK-NEXT:    Relocation {
231e483879SRafael Espindola// CHECK-NEXT:      Offset: 0x401900
241e483879SRafael Espindola// CHECK-NEXT:      Type: R_X86_64_JUMP_SLOT (7)
251e483879SRafael Espindola// CHECK-NEXT:      Symbol: puts
260d15f731SRafael Espindola// CHECK-NEXT:      Addend: 0x0
271e483879SRafael Espindola// CHECK-NEXT:    }
281e483879SRafael Espindola// CHECK-NEXT:  }
29594c0281SMichael J. Spencer
30594c0281SMichael J. Spencer// DYN:      Dynamic Relocations {
31594c0281SMichael J. Spencer// DYN-NEXT:   Relocation {
32594c0281SMichael J. Spencer// DYN-NEXT:     Offset: 0x4018D8
33594c0281SMichael J. Spencer// DYN-NEXT:     Type: R_X86_64_GLOB_DAT (6)
34594c0281SMichael J. Spencer// DYN-NEXT:     Symbol: __gmon_start__
35594c0281SMichael J. Spencer// DYN-NEXT:     Addend: 0x0
36594c0281SMichael J. Spencer// DYN-NEXT:   }
37944f655eSRafael Espindola// DYN-NEXT:   Relocation {
38944f655eSRafael Espindola// DYN-NEXT:     Offset: 0x4018F8
39944f655eSRafael Espindola// DYN-NEXT:     Type: R_X86_64_JUMP_SLOT (7)
40944f655eSRafael Espindola// DYN-NEXT:     Symbol: __libc_start_main
41944f655eSRafael Espindola// DYN-NEXT:     Addend: 0x0
42944f655eSRafael Espindola// DYN-NEXT:   }
43944f655eSRafael Espindola// DYN-NEXT:   Relocation {
44944f655eSRafael Espindola// DYN-NEXT:     Offset: 0x401900
45944f655eSRafael Espindola// DYN-NEXT:     Type: R_X86_64_JUMP_SLOT (7)
46944f655eSRafael Espindola// DYN-NEXT:     Symbol: puts
47944f655eSRafael Espindola// DYN-NEXT:     Addend: 0x0
48944f655eSRafael Espindola// DYN-NEXT:   }
49594c0281SMichael J. Spencer// DYN-NEXT: }
50b82657d3SRafael Espindola
51*e29e30b1SFangrui SongRUN: llvm-readobj --dyn-relocations --expand-relocs \
52b82657d3SRafael EspindolaRUN:   %p/Inputs/rel-no-sec-table.elf-x86-64 | FileCheck %s --check-prefix=DYN2
53b82657d3SRafael Espindola
54b82657d3SRafael Espindola// DYN2:      Dynamic Relocations {
55b82657d3SRafael Espindola// DYN2-NEXT:   Relocation {
56b82657d3SRafael Espindola// DYN2-NEXT:     Offset: 0x12F0
57b82657d3SRafael Espindola// DYN2-NEXT:     Type: R_X86_64_GLOB_DAT (6)
58b82657d3SRafael Espindola// DYN2-NEXT:     Symbol: g
59b82657d3SRafael Espindola// DYN2-NEXT:     Addend: 0x0
60b82657d3SRafael Espindola// DYN2-NEXT:   }
61b82657d3SRafael Espindola// DYN2-NEXT: }
62