Jordan Rupprecht | cf67633 | 2018-08-17 18:51:11 +0000 | [diff] [blame^] | 1 | # RUN: echo abcd > %t.txt |
| 2 | |
| 3 | # RUN: llvm-objcopy -I binary -B aarch64 %t.txt %t.aarch64.o |
| 4 | # RUN: llvm-readobj -file-headers %t.aarch64.o | FileCheck %s --check-prefixes=CHECK,AARCH64,64 |
| 5 | |
| 6 | # RUN: llvm-objcopy -I binary -B arm %t.txt %t.arm.o |
| 7 | # RUN: llvm-readobj -file-headers %t.arm.o | FileCheck %s --check-prefixes=CHECK,ARM,32 |
| 8 | |
| 9 | # RUN: llvm-objcopy -I binary -B i386 %t.txt %t.i386.o |
| 10 | # RUN: llvm-readobj -file-headers %t.i386.o | FileCheck %s --check-prefixes=CHECK,I386,32 |
| 11 | |
| 12 | # RUN: llvm-objcopy -I binary -B i386:x86-64 %t.txt %t.i386:x86-64.o |
| 13 | # RUN: llvm-readobj -file-headers %t.i386:x86-64.o | FileCheck %s --check-prefixes=CHECK,X86-64,64 |
| 14 | |
| 15 | # RUN: llvm-objcopy -I binary -B powerpc:common64 %t.txt %t.powerpc:common64.o |
| 16 | # RUN: llvm-readobj -file-headers %t.powerpc:common64.o | FileCheck %s --check-prefixes=CHECK,PPC,64 |
| 17 | |
| 18 | # RUN: llvm-objcopy -I binary -B sparc %t.txt %t.sparc.o |
| 19 | # RUN: llvm-readobj -file-headers %t.sparc.o | FileCheck %s --check-prefixes=CHECK,SPARC,32 |
| 20 | |
| 21 | # RUN: llvm-objcopy -I binary -B x86-64 %t.txt %t.x86-64.o |
| 22 | # RUN: llvm-readobj -file-headers %t.x86-64.o | FileCheck %s --check-prefixes=CHECK,X86-64,64 |
| 23 | |
| 24 | # CHECK: Format: |
| 25 | # AARCH64-SAME: ELF64-aarch64-little |
| 26 | # ARM-SAME: ELF32-arm-little |
| 27 | # I386-SAME: ELF32-i386 |
| 28 | # PPC-SAME: ELF64-ppc64 |
| 29 | # SPARC-SAME: ELF32-sparc |
| 30 | # X86-64-SAME: ELF64-x86-64 |
| 31 | |
| 32 | # AARCH64-NEXT: Arch: aarch64 |
| 33 | # ARM-NEXT: Arch: arm |
| 34 | # I386-NEXT: Arch: i386 |
| 35 | # PPC-NEXT: Arch: powerpc64le |
| 36 | # SPARC-NEXT: Arch: sparcel |
| 37 | # X86-64-NEXT: Arch: x86_64 |
| 38 | |
| 39 | # 32-NEXT: AddressSize: 32bit |
| 40 | # 64-NEXT: AddressSize: 64bit |
| 41 | |
| 42 | # CHECK: ElfHeader { |
| 43 | # CHECK-NEXT: Ident { |
| 44 | # CHECK-NEXT: Magic: (7F 45 4C 46) |
| 45 | # 32-NEXT: Class: 32-bit (0x1) |
| 46 | # 64-NEXT: Class: 64-bit (0x2) |
| 47 | # CHECK-NEXT: DataEncoding: LittleEndian (0x1) |
| 48 | # CHECK-NEXT: FileVersion: 1 |
| 49 | # CHECK-NEXT: OS/ABI: SystemV (0x0) |
| 50 | # CHECK-NEXT: ABIVersion: 0 |
| 51 | # CHECK-NEXT: Unused: (00 00 00 00 00 00 00) |
| 52 | # CHECK-NEXT: } |
| 53 | # CHECK-NEXT: Type: Relocatable (0x1) |
| 54 | # AARCH64-NEXT: Machine: EM_AARCH64 (0xB7) |
| 55 | # ARM-NEXT: Machine: EM_ARM (0x28) |
| 56 | # I386-NEXT: Machine: EM_386 (0x3) |
| 57 | # PPC-NEXT: Machine: EM_PPC64 (0x15) |
| 58 | # SPARC-NEXT: Machine: EM_SPARC (0x2) |
| 59 | # X86-64-NEXT: Machine: EM_X86_64 (0x3E) |
| 60 | # CHECK-NEXT: Version: 1 |
| 61 | # CHECK-NEXT: Entry: 0x0 |
| 62 | # CHECK-NEXT: ProgramHeaderOffset: |
| 63 | # CHECK-NEXT: SectionHeaderOffset: |
| 64 | # CHECK-NEXT: Flags [ (0x0) |
| 65 | # CHECK-NEXT: ] |
| 66 | # 32-NEXT: HeaderSize: 52 |
| 67 | # 64-NEXT: HeaderSize: 64 |
| 68 | # 32-NEXT: ProgramHeaderEntrySize: 32 |
| 69 | # 64-NEXT: ProgramHeaderEntrySize: 56 |
| 70 | # CHECK-NEXT: ProgramHeaderCount: 0 |
| 71 | # 32-NEXT: SectionHeaderEntrySize: 40 |
| 72 | # 64-NEXT: SectionHeaderEntrySize: 64 |
| 73 | # CHECK-NEXT: SectionHeaderCount: 4 |
| 74 | # CHECK-NEXT: StringTableSectionIndex: |
| 75 | # CHECK-NEXT: } |