diff options
Diffstat (limited to 'llvm/test/tools/llvm-readobj/MachO/relocations.test')
-rw-r--r-- | llvm/test/tools/llvm-readobj/MachO/relocations.test | 255 |
1 files changed, 255 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-readobj/MachO/relocations.test b/llvm/test/tools/llvm-readobj/MachO/relocations.test new file mode 100644 index 00000000000..b2e9a4df92f --- /dev/null +++ b/llvm/test/tools/llvm-readobj/MachO/relocations.test @@ -0,0 +1,255 @@ +## Check how we print relocations. + +# RUN: llvm-readobj -r %p/Inputs/trivial.obj.macho-i386 \ +# RUN: | FileCheck %s --check-prefix MACHO-I386 +# RUN: llvm-readobj -r %p/Inputs/trivial.obj.macho-x86-64 \ +# RUN: | FileCheck %s --check-prefix MACHO-X86-64 +# RUN: llvm-readobj -r --expand-relocs %p/Inputs/trivial.obj.macho-ppc \ +# RUN: | FileCheck %s --check-prefix MACHO-PPC +# RUN: llvm-readobj -r --expand-relocs %p/Inputs/trivial.obj.macho-ppc64 \ +# RUN: | FileCheck %s --check-prefix MACHO-PPC64 +# RUN: llvm-readobj -r --expand-relocs %p/Inputs/trivial.obj.macho-arm \ +# RUN: | FileCheck %s --check-prefix MACHO-ARM + +# MACHO-I386: Relocations [ +# MACHO-I386-NEXT: Section __text { +# MACHO-I386-NEXT: 0x18 1 2 1 GENERIC_RELOC_VANILLA 0 _SomeOtherFunction +# MACHO-I386-NEXT: 0x13 1 2 1 GENERIC_RELOC_VANILLA 0 _puts +# MACHO-I386-NEXT: 0xB 0 2 n/a GENERIC_RELOC_LOCAL_SECTDIFF 1 0x22 +# MACHO-I386-NEXT: 0x0 0 2 n/a GENERIC_RELOC_PAIR 1 0x8 +# MACHO-I386-NEXT: } +# MACHO-I386-NEXT: ] + +# MACHO-X86-64: Relocations [ +# MACHO-X86-64-NEXT: Section __text { +# MACHO-X86-64-NEXT: 0xE 1 2 1 X86_64_RELOC_BRANCH 0 _SomeOtherFunction +# MACHO-X86-64-NEXT: 0x9 1 2 1 X86_64_RELOC_BRANCH 0 _puts +# MACHO-X86-64-NEXT: 0x4 1 2 1 X86_64_RELOC_SIGNED 0 L_.str +# MACHO-X86-64-NEXT: } +# MACHO-X86-64-NEXT:] + +# MACHO-PPC: Relocations [ +# MACHO-PPC-NEXT: Section __text { +# MACHO-PPC-NEXT: Relocation { +# MACHO-PPC-NEXT: Offset: 0x24 +# MACHO-PPC-NEXT: PCRel: 0 +# MACHO-PPC-NEXT: Length: 2 +# MACHO-PPC-NEXT: Type: PPC_RELOC_LO16_SECTDIFF (11) +# MACHO-PPC-NEXT: Value: 0x64 +# MACHO-PPC-NEXT: } +# MACHO-PPC-NEXT: Relocation { +# MACHO-PPC-NEXT: Offset: 0x0 +# MACHO-PPC-NEXT: PCRel: 0 +# MACHO-PPC-NEXT: Length: 2 +# MACHO-PPC-NEXT: Type: PPC_RELOC_PAIR (1) +# MACHO-PPC-NEXT: Value: 0xC +# MACHO-PPC-NEXT: } +# MACHO-PPC-NEXT: Relocation { +# MACHO-PPC-NEXT: Offset: 0x1C +# MACHO-PPC-NEXT: PCRel: 0 +# MACHO-PPC-NEXT: Length: 2 +# MACHO-PPC-NEXT: Type: PPC_RELOC_HA16_SECTDIFF (12) +# MACHO-PPC-NEXT: Value: 0x64 +# MACHO-PPC-NEXT: } +# MACHO-PPC-NEXT: Relocation { +# MACHO-PPC-NEXT: Offset: 0x58 +# MACHO-PPC-NEXT: PCRel: 0 +# MACHO-PPC-NEXT: Length: 2 +# MACHO-PPC-NEXT: Type: PPC_RELOC_PAIR (1) +# MACHO-PPC-NEXT: Value: 0xC +# MACHO-PPC-NEXT: } +# MACHO-PPC-NEXT: Relocation { +# MACHO-PPC-NEXT: Offset: 0x18 +# MACHO-PPC-NEXT: PCRel: 1 +# MACHO-PPC-NEXT: Length: 2 +# MACHO-PPC-NEXT: Type: PPC_RELOC_BR24 (3) +# MACHO-PPC-NEXT: Section: __picsymbolstub1 (2) +# MACHO-PPC-NEXT: } +# MACHO-PPC-NEXT: } +# MACHO-PPC-NEXT: Section __picsymbolstub1 { +# MACHO-PPC-NEXT: Relocation { +# MACHO-PPC-NEXT: Offset: 0x14 +# MACHO-PPC-NEXT: PCRel: 0 +# MACHO-PPC-NEXT: Length: 2 +# MACHO-PPC-NEXT: Type: PPC_RELOC_LO16_SECTDIFF (11) +# MACHO-PPC-NEXT: Value: 0x68 +# MACHO-PPC-NEXT: } +# MACHO-PPC-NEXT: Relocation { +# MACHO-PPC-NEXT: Offset: 0x0 +# MACHO-PPC-NEXT: PCRel: 0 +# MACHO-PPC-NEXT: Length: 2 +# MACHO-PPC-NEXT: Type: PPC_RELOC_PAIR (1) +# MACHO-PPC-NEXT: Value: 0x48 +# MACHO-PPC-NEXT: } +# MACHO-PPC-NEXT: Relocation { +# MACHO-PPC-NEXT: Offset: 0xC +# MACHO-PPC-NEXT: PCRel: 0 +# MACHO-PPC-NEXT: Length: 2 +# MACHO-PPC-NEXT: Type: PPC_RELOC_HA16_SECTDIFF (12) +# MACHO-PPC-NEXT: Value: 0x68 +# MACHO-PPC-NEXT: } +# MACHO-PPC-NEXT: Relocation { +# MACHO-PPC-NEXT: Offset: 0x20 +# MACHO-PPC-NEXT: PCRel: 0 +# MACHO-PPC-NEXT: Length: 2 +# MACHO-PPC-NEXT: Type: PPC_RELOC_PAIR (1) +# MACHO-PPC-NEXT: Value: 0x48 +# MACHO-PPC-NEXT: } +# MACHO-PPC-NEXT: } +# MACHO-PPC-NEXT: Section __la_symbol_ptr { +# MACHO-PPC-NEXT: Relocation { +# MACHO-PPC-NEXT: Offset: 0x0 +# MACHO-PPC-NEXT: PCRel: 0 +# MACHO-PPC-NEXT: Length: 2 +# MACHO-PPC-NEXT: Type: PPC_RELOC_VANILLA (0) +# MACHO-PPC-NEXT: Symbol: dyld_stub_binding_helper (5) +# MACHO-PPC-NEXT: } +# MACHO-PPC-NEXT: } +# MACHO-PPC-NEXT: ] + +# MACHO-PPC64: Relocations [ +# MACHO-PPC64-NEXT: Section __text { +# MACHO-PPC64-NEXT: Relocation { +# MACHO-PPC64-NEXT: Offset: 0x24 +# MACHO-PPC64-NEXT: PCRel: 0 +# MACHO-PPC64-NEXT: Length: 2 +# MACHO-PPC64-NEXT: Type: (14) +# MACHO-PPC64-NEXT: Value: 0x64 +# MACHO-PPC64-NEXT: } +# MACHO-PPC64-NEXT: Relocation { +# MACHO-PPC64-NEXT: Offset: 0x0 +# MACHO-PPC64-NEXT: PCRel: 0 +# MACHO-PPC64-NEXT: Length: 2 +# MACHO-PPC64-NEXT: Type: (1) +# MACHO-PPC64-NEXT: Value: 0xC +# MACHO-PPC64-NEXT: } +# MACHO-PPC64-NEXT: Relocation { +# MACHO-PPC64-NEXT: Offset: 0x1C +# MACHO-PPC64-NEXT: PCRel: 0 +# MACHO-PPC64-NEXT: Length: 2 +# MACHO-PPC64-NEXT: Type: (12) +# MACHO-PPC64-NEXT: Value: 0x64 +# MACHO-PPC64-NEXT: } +# MACHO-PPC64-NEXT: Relocation { +# MACHO-PPC64-NEXT: Offset: 0x58 +# MACHO-PPC64-NEXT: PCRel: 0 +# MACHO-PPC64-NEXT: Length: 2 +# MACHO-PPC64-NEXT: Type: (1) +# MACHO-PPC64-NEXT: Value: 0xC +# MACHO-PPC64-NEXT: } +# MACHO-PPC64-NEXT: Relocation { +# MACHO-PPC64-NEXT: Offset: 0x18 +# MACHO-PPC64-NEXT: PCRel: 1 +# MACHO-PPC64-NEXT: Length: 2 +# MACHO-PPC64-NEXT: Type: (3) +# MACHO-PPC64-NEXT: Section: __picsymbolstub1 (2) +# MACHO-PPC64-NEXT: } +# MACHO-PPC64-NEXT: } +# MACHO-PPC64-NEXT: Section __picsymbolstub1 { +# MACHO-PPC64-NEXT: Relocation { +# MACHO-PPC64-NEXT: Offset: 0x14 +# MACHO-PPC64-NEXT: PCRel: 0 +# MACHO-PPC64-NEXT: Length: 2 +# MACHO-PPC64-NEXT: Type: (14) +# MACHO-PPC64-NEXT: Value: 0x6C +# MACHO-PPC64-NEXT: } +# MACHO-PPC64-NEXT: Relocation { +# MACHO-PPC64-NEXT: Offset: 0x0 +# MACHO-PPC64-NEXT: PCRel: 0 +# MACHO-PPC64-NEXT: Length: 2 +# MACHO-PPC64-NEXT: Type: (1) +# MACHO-PPC64-NEXT: Value: 0x48 +# MACHO-PPC64-NEXT: } +# MACHO-PPC64-NEXT: Relocation { +# MACHO-PPC64-NEXT: Offset: 0xC +# MACHO-PPC64-NEXT: PCRel: 0 +# MACHO-PPC64-NEXT: Length: 2 +# MACHO-PPC64-NEXT: Type: (12) +# MACHO-PPC64-NEXT: Value: 0x6C +# MACHO-PPC64-NEXT: } +# MACHO-PPC64-NEXT: Relocation { +# MACHO-PPC64-NEXT: Offset: 0x24 +# MACHO-PPC64-NEXT: PCRel: 0 +# MACHO-PPC64-NEXT: Length: 2 +# MACHO-PPC64-NEXT: Type: (1) +# MACHO-PPC64-NEXT: Value: 0x48 +# MACHO-PPC64-NEXT: } +# MACHO-PPC64-NEXT: } +# MACHO-PPC64-NEXT: Section __la_symbol_ptr { +# MACHO-PPC64-NEXT: Relocation { +# MACHO-PPC64-NEXT: Offset: 0x0 +# MACHO-PPC64-NEXT: PCRel: 0 +# MACHO-PPC64-NEXT: Length: 3 +# MACHO-PPC64-NEXT: Type: (0) +# MACHO-PPC64-NEXT: Symbol: dyld_stub_binding_helper (5) +# MACHO-PPC64-NEXT: } +# MACHO-PPC64-NEXT: } +# MACHO-PPC64-NEXT: ] + +# MACHO-ARM: Relocations [ +# MACHO-ARM-NEXT: Section __text { +# MACHO-ARM-NEXT: Relocation { +# MACHO-ARM-NEXT: Offset: 0x38 +# MACHO-ARM-NEXT: PCRel: 0 +# MACHO-ARM-NEXT: Length: 2 +# MACHO-ARM-NEXT: Type: ARM_RELOC_SECTDIFF (2) +# MACHO-ARM-NEXT: Value: 0x40 +# MACHO-ARM-NEXT: } +# MACHO-ARM-NEXT: Relocation { +# MACHO-ARM-NEXT: Offset: 0x0 +# MACHO-ARM-NEXT: PCRel: 0 +# MACHO-ARM-NEXT: Length: 2 +# MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) +# MACHO-ARM-NEXT: Value: 0x28 +# MACHO-ARM-NEXT: } +# MACHO-ARM-NEXT: Relocation { +# MACHO-ARM-NEXT: Offset: 0x20 +# MACHO-ARM-NEXT: PCRel: 1 +# MACHO-ARM-NEXT: Length: 2 +# MACHO-ARM-NEXT: Type: ARM_RELOC_BR24 (5) +# MACHO-ARM-NEXT: Symbol: _g +# MACHO-ARM-NEXT: } +# MACHO-ARM-NEXT: Relocation { +# MACHO-ARM-NEXT: Offset: 0x1C +# MACHO-ARM-NEXT: PCRel: 0 +# MACHO-ARM-NEXT: Length: 1 +# MACHO-ARM-NEXT: Type: ARM_RELOC_HALF (8) +# MACHO-ARM-NEXT: Symbol: _g +# MACHO-ARM-NEXT: } +# MACHO-ARM-NEXT: Relocation { +# MACHO-ARM-NEXT: Offset: 0x0 +# MACHO-ARM-NEXT: PCRel: 0 +# MACHO-ARM-NEXT: Length: 1 +# MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) +# MACHO-ARM-NEXT: Section: - +# MACHO-ARM-NEXT: } +# MACHO-ARM-NEXT: Relocation { +# MACHO-ARM-NEXT: Offset: 0x18 +# MACHO-ARM-NEXT: PCRel: 0 +# MACHO-ARM-NEXT: Length: 0 +# MACHO-ARM-NEXT: Type: ARM_RELOC_HALF (8) +# MACHO-ARM-NEXT: Symbol: _g +# MACHO-ARM-NEXT: } +# MACHO-ARM-NEXT: Relocation { +# MACHO-ARM-NEXT: Offset: 0x0 +# MACHO-ARM-NEXT: PCRel: 0 +# MACHO-ARM-NEXT: Length: 0 +# MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) +# MACHO-ARM-NEXT: Section: - +# MACHO-ARM-NEXT: } +# MACHO-ARM-NEXT: Relocation { +# MACHO-ARM-NEXT: Offset: 0xC +# MACHO-ARM-NEXT: PCRel: 0 +# MACHO-ARM-NEXT: Length: 2 +# MACHO-ARM-NEXT: Type: ARM_RELOC_SECTDIFF (2) +# MACHO-ARM-NEXT: Value: 0x44 +# MACHO-ARM-NEXT: } +# MACHO-ARM-NEXT: Relocation { +# MACHO-ARM-NEXT: Offset: 0x0 +# MACHO-ARM-NEXT: PCRel: 0 +# MACHO-ARM-NEXT: Length: 2 +# MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) +# MACHO-ARM-NEXT: Value: 0x4 +# MACHO-ARM-NEXT: } +# MACHO-ARM-NEXT: } +# MACHO-ARM-NEXT: ] |