Eric Christopher | 9cad53c | 2013-04-03 18:31:38 +0000 | [diff] [blame] | 1 | RUN: llvm-readobj -r %p/Inputs/trivial.obj.coff-i386 \ |
| 2 | RUN: | FileCheck %s -check-prefix COFF |
David Majnemer | ccce9ae | 2014-11-20 05:32:10 +0000 | [diff] [blame^] | 3 | RUN: llvm-readobj -r %p/Inputs/bad-relocs.obj.coff-i386 \ |
| 4 | RUN: | FileCheck %s -check-prefix BAD-COFF-RELOCS |
Eric Christopher | 9cad53c | 2013-04-03 18:31:38 +0000 | [diff] [blame] | 5 | RUN: llvm-readobj -r %p/Inputs/trivial.obj.elf-i386 \ |
| 6 | RUN: | FileCheck %s -check-prefix ELF |
| 7 | RUN: llvm-readobj -r %p/Inputs/trivial.obj.macho-i386 \ |
Rafael Espindola | 1d532a3 | 2013-04-11 02:52:29 +0000 | [diff] [blame] | 8 | RUN: | FileCheck %s -check-prefix MACHO-I386 |
| 9 | RUN: llvm-readobj -r %p/Inputs/trivial.obj.macho-x86-64 \ |
| 10 | RUN: | FileCheck %s -check-prefix MACHO-X86-64 |
Rafael Espindola | 9b70925 | 2013-04-13 01:45:40 +0000 | [diff] [blame] | 11 | RUN: llvm-readobj -r %p/Inputs/trivial.obj.macho-ppc \ |
| 12 | RUN: | FileCheck %s -check-prefix MACHO-PPC |
| 13 | RUN: llvm-readobj -r %p/Inputs/trivial.obj.macho-ppc64 \ |
| 14 | RUN: | FileCheck %s -check-prefix MACHO-PPC64 |
Rafael Espindola | 56f976f | 2013-04-18 18:08:55 +0000 | [diff] [blame] | 15 | RUN: llvm-readobj -r -expand-relocs %p/Inputs/trivial.obj.macho-arm \ |
| 16 | RUN: | FileCheck %s -check-prefix MACHO-ARM |
Eric Christopher | 9cad53c | 2013-04-03 18:31:38 +0000 | [diff] [blame] | 17 | |
| 18 | COFF: Relocations [ |
| 19 | COFF-NEXT: Section (1) .text { |
| 20 | COFF-NEXT: 0x4 IMAGE_REL_I386_DIR32 .data |
| 21 | COFF-NEXT: 0x9 IMAGE_REL_I386_REL32 _puts |
| 22 | COFF-NEXT: 0xE IMAGE_REL_I386_REL32 _SomeOtherFunction |
| 23 | COFF-NEXT: } |
| 24 | COFF-NEXT: ] |
| 25 | |
David Majnemer | ccce9ae | 2014-11-20 05:32:10 +0000 | [diff] [blame^] | 26 | BAD-COFF-RELOCS: Relocations [ |
| 27 | BAD-COFF-RELOCS-NEXT: Section (1) sec { |
| 28 | BAD-COFF-RELOCS-NEXT: 0xDEADBEEF IMAGE_REL_I386_ABSOLUTE - |
| 29 | BAD-COFF-RELOCS-NEXT: } |
| 30 | BAD-COFF-RELOCS-NEXT: ] |
| 31 | |
Eric Christopher | 9cad53c | 2013-04-03 18:31:38 +0000 | [diff] [blame] | 32 | ELF: Relocations [ |
Rafael Espindola | 4f60a38 | 2013-05-30 03:05:14 +0000 | [diff] [blame] | 33 | ELF-NEXT: Section (2) .rel.text { |
Eric Christopher | 9cad53c | 2013-04-03 18:31:38 +0000 | [diff] [blame] | 34 | ELF-NEXT: 0xC R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 0x0 |
| 35 | ELF-NEXT: 0x12 R_386_GOTOFF .L.str 0x0 |
| 36 | ELF-NEXT: 0x1A R_386_PLT32 puts 0x0 |
| 37 | ELF-NEXT: 0x1F R_386_PLT32 SomeOtherFunction 0x0 |
| 38 | ELF-NEXT: } |
| 39 | ELF-NEXT: ] |
| 40 | |
Rafael Espindola | 1d532a3 | 2013-04-11 02:52:29 +0000 | [diff] [blame] | 41 | MACHO-I386: Relocations [ |
| 42 | MACHO-I386-NEXT: Section __text { |
Rafael Espindola | ecf1320 | 2013-04-12 00:17:33 +0000 | [diff] [blame] | 43 | MACHO-I386-NEXT: 0x18 1 2 1 GENERIC_RELOC_VANILLA 0 _SomeOtherFunction |
| 44 | MACHO-I386-NEXT: 0x13 1 2 1 GENERIC_RELOC_VANILLA 0 _puts |
Tim Northover | 07f99fb | 2014-07-04 10:57:56 +0000 | [diff] [blame] | 45 | MACHO-I386-NEXT: 0xB 0 2 n/a GENERIC_RELOC_LOCAL_SECTDIFF 1 0x22 |
| 46 | MACHO-I386-NEXT: 0x0 0 2 n/a GENERIC_RELOC_PAIR 1 0x8 |
Rafael Espindola | 1d532a3 | 2013-04-11 02:52:29 +0000 | [diff] [blame] | 47 | MACHO-I386-NEXT: } |
| 48 | MACHO-I386-NEXT: ] |
| 49 | |
| 50 | MACHO-X86-64: Relocations [ |
| 51 | MACHO-X86-64-NEXT: Section __text { |
Rafael Espindola | ecf1320 | 2013-04-12 00:17:33 +0000 | [diff] [blame] | 52 | MACHO-X86-64-NEXT: 0xE 1 2 1 X86_64_RELOC_BRANCH 0 _SomeOtherFunction |
| 53 | MACHO-X86-64-NEXT: 0x9 1 2 1 X86_64_RELOC_BRANCH 0 _puts |
| 54 | MACHO-X86-64-NEXT: 0x4 1 2 1 X86_64_RELOC_SIGNED 0 L_.str |
Rafael Espindola | 1d532a3 | 2013-04-11 02:52:29 +0000 | [diff] [blame] | 55 | MACHO-X86-64-NEXT: } |
| 56 | MACHO-X86-64-NEXT:] |
Rafael Espindola | 9b70925 | 2013-04-13 01:45:40 +0000 | [diff] [blame] | 57 | |
| 58 | MACHO-PPC: Relocations [ |
| 59 | MACHO-PPC-NEXT: Section __text { |
Tim Northover | 07f99fb | 2014-07-04 10:57:56 +0000 | [diff] [blame] | 60 | MACHO-PPC-NEXT: 0x24 0 2 n/a PPC_RELOC_LO16_SECTDIFF 1 0x64 |
| 61 | MACHO-PPC-NEXT: 0x0 0 2 n/a PPC_RELOC_PAIR 1 0xC |
| 62 | MACHO-PPC-NEXT: 0x1C 0 2 n/a PPC_RELOC_HA16_SECTDIFF 1 0x64 |
| 63 | MACHO-PPC-NEXT: 0x58 0 2 n/a PPC_RELOC_PAIR 1 0xC |
| 64 | MACHO-PPC-NEXT: 0x18 1 2 0 PPC_RELOC_BR24 0 0x2 |
Rafael Espindola | 9b70925 | 2013-04-13 01:45:40 +0000 | [diff] [blame] | 65 | MACHO-PPC-NEXT: } |
| 66 | MACHO-PPC-NEXT: Section __picsymbolstub1 { |
Tim Northover | 07f99fb | 2014-07-04 10:57:56 +0000 | [diff] [blame] | 67 | MACHO-PPC-NEXT: 0x14 0 2 n/a PPC_RELOC_LO16_SECTDIFF 1 0x68 |
| 68 | MACHO-PPC-NEXT: 0x0 0 2 n/a PPC_RELOC_PAIR 1 0x48 |
| 69 | MACHO-PPC-NEXT: 0xC 0 2 n/a PPC_RELOC_HA16_SECTDIFF 1 0x68 |
| 70 | MACHO-PPC-NEXT: 0x20 0 2 n/a PPC_RELOC_PAIR 1 0x48 |
Rafael Espindola | 9b70925 | 2013-04-13 01:45:40 +0000 | [diff] [blame] | 71 | MACHO-PPC-NEXT: } |
| 72 | MACHO-PPC-NEXT: Section __la_symbol_ptr { |
| 73 | MACHO-PPC-NEXT: 0x0 0 2 1 PPC_RELOC_VANILLA 0 dyld_stub_binding_helper |
| 74 | MACHO-PPC-NEXT: } |
| 75 | MACHO-PPC-NEXT: ] |
| 76 | |
| 77 | MACHO-PPC64: Relocations [ |
| 78 | MACHO-PPC64-NEXT: Section __text { |
Tim Northover | 07f99fb | 2014-07-04 10:57:56 +0000 | [diff] [blame] | 79 | MACHO-PPC64-NEXT: 0x24 0 2 n/a 1 0x64 |
| 80 | MACHO-PPC64-NEXT: 0x0 0 2 n/a 1 0xC |
| 81 | MACHO-PPC64-NEXT: 0x1C 0 2 n/a 1 0x64 |
| 82 | MACHO-PPC64-NEXT: 0x58 0 2 n/a 1 0xC |
| 83 | MACHO-PPC64-NEXT: 0x18 1 2 0 0 0x2 |
Rafael Espindola | 9b70925 | 2013-04-13 01:45:40 +0000 | [diff] [blame] | 84 | MACHO-PPC64-NEXT: } |
| 85 | MACHO-PPC64-NEXT: Section __picsymbolstub1 { |
Tim Northover | 07f99fb | 2014-07-04 10:57:56 +0000 | [diff] [blame] | 86 | MACHO-PPC64-NEXT: 0x14 0 2 n/a 1 0x6C |
| 87 | MACHO-PPC64-NEXT: 0x0 0 2 n/a 1 0x48 |
| 88 | MACHO-PPC64-NEXT: 0xC 0 2 n/a 1 0x6C |
| 89 | MACHO-PPC64-NEXT: 0x24 0 2 n/a 1 0x48 |
Rafael Espindola | 9b70925 | 2013-04-13 01:45:40 +0000 | [diff] [blame] | 90 | MACHO-PPC64-NEXT: } |
| 91 | MACHO-PPC64-NEXT: Section __la_symbol_ptr { |
| 92 | MACHO-PPC64-NEXT: 0x0 0 3 1 0 dyld_stub_binding_helper |
| 93 | MACHO-PPC64-NEXT: } |
| 94 | MACHO-PPC64-NEXT: ] |
Rafael Espindola | 56f976f | 2013-04-18 18:08:55 +0000 | [diff] [blame] | 95 | |
| 96 | |
| 97 | MACHO-ARM: Relocations [ |
| 98 | MACHO-ARM-NEXT: Section __text { |
| 99 | MACHO-ARM-NEXT: Relocation { |
| 100 | MACHO-ARM-NEXT: Offset: 0x38 |
| 101 | MACHO-ARM-NEXT: PCRel: 0 |
| 102 | MACHO-ARM-NEXT: Length: 2 |
| 103 | MACHO-ARM-NEXT: Extern: N/A |
| 104 | MACHO-ARM-NEXT: Type: ARM_RELOC_SECTDIFF (2) |
Tim Northover | 07f99fb | 2014-07-04 10:57:56 +0000 | [diff] [blame] | 105 | MACHO-ARM-NEXT: Symbol: 0x40 |
Rafael Espindola | 56f976f | 2013-04-18 18:08:55 +0000 | [diff] [blame] | 106 | MACHO-ARM-NEXT: Scattered: 1 |
| 107 | MACHO-ARM-NEXT: } |
| 108 | MACHO-ARM-NEXT: Relocation { |
| 109 | MACHO-ARM-NEXT: Offset: 0x0 |
| 110 | MACHO-ARM-NEXT: PCRel: 0 |
| 111 | MACHO-ARM-NEXT: Length: 2 |
| 112 | MACHO-ARM-NEXT: Extern: N/A |
| 113 | MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) |
Tim Northover | 07f99fb | 2014-07-04 10:57:56 +0000 | [diff] [blame] | 114 | MACHO-ARM-NEXT: Symbol: 0x28 |
Rafael Espindola | 56f976f | 2013-04-18 18:08:55 +0000 | [diff] [blame] | 115 | MACHO-ARM-NEXT: Scattered: 1 |
| 116 | MACHO-ARM-NEXT: } |
| 117 | MACHO-ARM-NEXT: Relocation { |
| 118 | MACHO-ARM-NEXT: Offset: 0x20 |
| 119 | MACHO-ARM-NEXT: PCRel: 1 |
| 120 | MACHO-ARM-NEXT: Length: 2 |
| 121 | MACHO-ARM-NEXT: Extern: 1 |
| 122 | MACHO-ARM-NEXT: Type: ARM_RELOC_BR24 (5) |
| 123 | MACHO-ARM-NEXT: Symbol: _g |
| 124 | MACHO-ARM-NEXT: Scattered: 0 |
| 125 | MACHO-ARM-NEXT: } |
| 126 | MACHO-ARM-NEXT: Relocation { |
| 127 | MACHO-ARM-NEXT: Offset: 0x1C |
| 128 | MACHO-ARM-NEXT: PCRel: 0 |
| 129 | MACHO-ARM-NEXT: Length: 1 |
| 130 | MACHO-ARM-NEXT: Extern: 1 |
| 131 | MACHO-ARM-NEXT: Type: ARM_RELOC_HALF (8) |
| 132 | MACHO-ARM-NEXT: Symbol: _g |
| 133 | MACHO-ARM-NEXT: Scattered: 0 |
| 134 | MACHO-ARM-NEXT: } |
| 135 | MACHO-ARM-NEXT: Relocation { |
| 136 | MACHO-ARM-NEXT: Offset: 0x0 |
| 137 | MACHO-ARM-NEXT: PCRel: 0 |
| 138 | MACHO-ARM-NEXT: Length: 1 |
| 139 | MACHO-ARM-NEXT: Extern: 0 |
| 140 | MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) |
Tim Northover | 07f99fb | 2014-07-04 10:57:56 +0000 | [diff] [blame] | 141 | MACHO-ARM-NEXT: Symbol: 0xFFFFFF |
Rafael Espindola | 56f976f | 2013-04-18 18:08:55 +0000 | [diff] [blame] | 142 | MACHO-ARM-NEXT: Scattered: 0 |
| 143 | MACHO-ARM-NEXT: } |
| 144 | MACHO-ARM-NEXT: Relocation { |
| 145 | MACHO-ARM-NEXT: Offset: 0x18 |
| 146 | MACHO-ARM-NEXT: PCRel: 0 |
| 147 | MACHO-ARM-NEXT: Length: 0 |
| 148 | MACHO-ARM-NEXT: Extern: 1 |
| 149 | MACHO-ARM-NEXT: Type: ARM_RELOC_HALF (8) |
| 150 | MACHO-ARM-NEXT: Symbol: _g |
| 151 | MACHO-ARM-NEXT: Scattered: 0 |
| 152 | MACHO-ARM-NEXT: } |
| 153 | MACHO-ARM-NEXT: Relocation { |
| 154 | MACHO-ARM-NEXT: Offset: 0x0 |
| 155 | MACHO-ARM-NEXT: PCRel: 0 |
| 156 | MACHO-ARM-NEXT: Length: 0 |
| 157 | MACHO-ARM-NEXT: Extern: 0 |
| 158 | MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) |
Tim Northover | 07f99fb | 2014-07-04 10:57:56 +0000 | [diff] [blame] | 159 | MACHO-ARM-NEXT: Symbol: 0xFFFFFF |
Rafael Espindola | 56f976f | 2013-04-18 18:08:55 +0000 | [diff] [blame] | 160 | MACHO-ARM-NEXT: Scattered: 0 |
| 161 | MACHO-ARM-NEXT: } |
| 162 | MACHO-ARM-NEXT: Relocation { |
| 163 | MACHO-ARM-NEXT: Offset: 0xC |
| 164 | MACHO-ARM-NEXT: PCRel: 0 |
| 165 | MACHO-ARM-NEXT: Length: 2 |
| 166 | MACHO-ARM-NEXT: Extern: N/A |
| 167 | MACHO-ARM-NEXT: Type: ARM_RELOC_SECTDIFF (2) |
Tim Northover | 07f99fb | 2014-07-04 10:57:56 +0000 | [diff] [blame] | 168 | MACHO-ARM-NEXT: Symbol: 0x44 |
Rafael Espindola | 56f976f | 2013-04-18 18:08:55 +0000 | [diff] [blame] | 169 | MACHO-ARM-NEXT: Scattered: 1 |
| 170 | MACHO-ARM-NEXT: } |
| 171 | MACHO-ARM-NEXT: Relocation { |
| 172 | MACHO-ARM-NEXT: Offset: 0x0 |
| 173 | MACHO-ARM-NEXT: PCRel: 0 |
| 174 | MACHO-ARM-NEXT: Length: 2 |
| 175 | MACHO-ARM-NEXT: Extern: N/A |
| 176 | MACHO-ARM-NEXT: Type: ARM_RELOC_PAIR (1) |
Tim Northover | 07f99fb | 2014-07-04 10:57:56 +0000 | [diff] [blame] | 177 | MACHO-ARM-NEXT: Symbol: 0x4 |
Rafael Espindola | 56f976f | 2013-04-18 18:08:55 +0000 | [diff] [blame] | 178 | MACHO-ARM-NEXT: Scattered: 1 |
| 179 | MACHO-ARM-NEXT: } |
| 180 | MACHO-ARM-NEXT: } |
| 181 | MACHO-ARM-NEXT: ] |