xref: /aosp_15_r20/external/llvm/test/Object/relocation-executable.test (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard WorkerRUN: llvm-readobj -r -expand-relocs %p/Inputs/hello-world.elf-x86-64 \
2*9880d681SAndroid Build Coastguard WorkerRUN:   | FileCheck %s
3*9880d681SAndroid Build Coastguard WorkerRUN: llvm-readobj -dyn-relocations -expand-relocs \
4*9880d681SAndroid Build Coastguard WorkerRUN:   %p/Inputs/hello-world.elf-x86-64 | FileCheck %s --check-prefix=DYN
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Worker// CHECK:     Relocations [
7*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:  Section (8) .rela.dyn {
8*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:    Relocation {
9*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:      Offset: 0x4018D8
10*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:      Type: R_X86_64_GLOB_DAT (6)
11*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:      Symbol: __gmon_start__
12*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:      Addend: 0x0
13*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:    }
14*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:  }
15*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:  Section (9) .rela.plt {
16*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:    Relocation {
17*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:      Offset: 0x4018F8
18*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:      Type: R_X86_64_JUMP_SLOT (7)
19*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:      Symbol: __libc_start_main
20*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:      Addend: 0x0
21*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:    }
22*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:    Relocation {
23*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:      Offset: 0x401900
24*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:      Type: R_X86_64_JUMP_SLOT (7)
25*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:      Symbol: puts
26*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:      Addend: 0x0
27*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:    }
28*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:  }
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Worker// DYN:      Dynamic Relocations {
31*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:   Relocation {
32*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:     Offset: 0x4018D8
33*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:     Type: R_X86_64_GLOB_DAT (6)
34*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:     Symbol: __gmon_start__
35*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:     Addend: 0x0
36*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:   }
37*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:   Relocation {
38*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:     Offset: 0x4018F8
39*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:     Type: R_X86_64_JUMP_SLOT (7)
40*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:     Symbol: __libc_start_main
41*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:     Addend: 0x0
42*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:   }
43*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:   Relocation {
44*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:     Offset: 0x401900
45*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:     Type: R_X86_64_JUMP_SLOT (7)
46*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:     Symbol: puts
47*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:     Addend: 0x0
48*9880d681SAndroid Build Coastguard Worker// DYN-NEXT:   }
49*9880d681SAndroid Build Coastguard Worker// DYN-NEXT: }
50*9880d681SAndroid Build Coastguard Worker
51*9880d681SAndroid Build Coastguard WorkerRUN: llvm-readobj -dyn-relocations -expand-relocs \
52*9880d681SAndroid Build Coastguard WorkerRUN:   %p/Inputs/rel-no-sec-table.elf-x86-64 | FileCheck %s --check-prefix=DYN2
53*9880d681SAndroid Build Coastguard Worker
54*9880d681SAndroid Build Coastguard Worker// DYN2:      Dynamic Relocations {
55*9880d681SAndroid Build Coastguard Worker// DYN2-NEXT:   Relocation {
56*9880d681SAndroid Build Coastguard Worker// DYN2-NEXT:     Offset: 0x12F0
57*9880d681SAndroid Build Coastguard Worker// DYN2-NEXT:     Type: R_X86_64_GLOB_DAT (6)
58*9880d681SAndroid Build Coastguard Worker// DYN2-NEXT:     Symbol: g
59*9880d681SAndroid Build Coastguard Worker// DYN2-NEXT:     Addend: 0x0
60*9880d681SAndroid Build Coastguard Worker// DYN2-NEXT:   }
61*9880d681SAndroid Build Coastguard Worker// DYN2-NEXT: }
62