1 # RUN: echo abcd > %t.txt
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
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
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
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
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
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
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
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
32 # AARCH64-NEXT: Arch: aarch64
34 # I386-NEXT: Arch: i386
35 # PPC-NEXT: Arch: powerpc64le
36 # SPARC-NEXT: Arch: sparcel
37 # X86-64-NEXT: Arch: x86_64
39 # 32-NEXT: AddressSize: 32bit
40 # 64-NEXT: AddressSize: 64bit
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)
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)
66 # 32-NEXT: HeaderSize: 52
67 # 64-NEXT: HeaderSize: 64
68 # 32-NEXT: ProgramHeaderEntrySize: 0
69 # 64-NEXT: ProgramHeaderEntrySize: 0
70 # CHECK-NEXT: ProgramHeaderCount: 0
71 # 32-NEXT: SectionHeaderEntrySize: 40
72 # 64-NEXT: SectionHeaderEntrySize: 64
73 # CHECK-NEXT: SectionHeaderCount: 4
74 # CHECK-NEXT: StringTableSectionIndex: