summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-objcopy/ELF/binary-input-arch.test
blob: 73ebdddd163f06a389dbe30716b16feb671c025c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# RUN: echo abcd > %t.txt

# RUN: llvm-objcopy -I binary -B aarch64 %t.txt %t.aarch64.o
# RUN: llvm-readobj --file-headers %t.aarch64.o | FileCheck %s --check-prefixes=CHECK,LE,AARCH64,64

# RUN: llvm-objcopy -I binary -B arm %t.txt %t.arm.o
# RUN: llvm-readobj --file-headers %t.arm.o | FileCheck %s --check-prefixes=CHECK,LE,ARM,32

# RUN: llvm-objcopy -I binary -B i386 %t.txt %t.i386.o
# RUN: llvm-readobj --file-headers %t.i386.o | FileCheck %s --check-prefixes=CHECK,LE,I386,32

# RUN: llvm-objcopy -I binary -B i386:x86-64 %t.txt %t.i386_x86-64.o
# RUN: llvm-readobj --file-headers %t.i386_x86-64.o | FileCheck %s --check-prefixes=CHECK,LE,X86-64,64

# RUN: llvm-objcopy -I binary -B mips %t.txt %t.mips.o
# RUN: llvm-readobj --file-headers %t.mips.o | FileCheck %s --check-prefixes=CHECK,BE,MIPS,32

# RUN: llvm-objcopy -I binary -B powerpc:common64 %t.txt %t.powerpc_common64.o
# RUN: llvm-readobj --file-headers %t.powerpc_common64.o | FileCheck %s --check-prefixes=CHECK,LE,PPC,64

# RUN: llvm-objcopy -I binary -B sparc %t.txt %t.sparc.o
# RUN: llvm-readobj --file-headers %t.sparc.o | FileCheck %s --check-prefixes=CHECK,LE,SPARC,32

# RUN: llvm-objcopy -I binary -B x86-64 %t.txt %t.x86-64.o
# RUN: llvm-readobj --file-headers %t.x86-64.o | FileCheck %s --check-prefixes=CHECK,LE,X86-64,64

# CHECK: Format:
# AARCH64-SAME: ELF64-aarch64-little
# ARM-SAME:     ELF32-arm-little
# I386-SAME:    ELF32-i386
# MIPS-SAME:    ELF32-mips{{$}}
# PPC-SAME:     ELF64-ppc64
# SPARC-SAME:   ELF32-sparc
# X86-64-SAME:  ELF64-x86-64

# AARCH64-NEXT: Arch: aarch64
# ARM-NEXT:     Arch: arm
# I386-NEXT:    Arch: i386
# MIPS-NEXT:    Arch: mips{{$$}}
# PPC-NEXT:     Arch: powerpc64le
# SPARC-NEXT:   Arch: sparcel
# X86-64-NEXT:  Arch: x86_64

# 32-NEXT:      AddressSize: 32bit
# 64-NEXT:      AddressSize: 64bit

# CHECK:        ElfHeader {
# CHECK-NEXT:     Ident {
# CHECK-NEXT:       Magic: (7F 45 4C 46)
# 32-NEXT:          Class: 32-bit (0x1)
# 64-NEXT:          Class: 64-bit (0x2)
# LE-NEXT:          DataEncoding: LittleEndian (0x1)
# BE-NEXT:          DataEncoding: BigEndian (0x2)
# CHECK-NEXT:       FileVersion: 1
# CHECK-NEXT:       OS/ABI: SystemV (0x0)
# CHECK-NEXT:       ABIVersion: 0
# CHECK-NEXT:       Unused: (00 00 00 00 00 00 00)
# CHECK-NEXT:     }
# CHECK-NEXT:     Type: Relocatable (0x1)
# AARCH64-NEXT:   Machine: EM_AARCH64 (0xB7)
# ARM-NEXT:       Machine: EM_ARM (0x28)
# I386-NEXT:      Machine: EM_386 (0x3)
# MIPS-NEXT:      Machine: EM_MIPS (0x8)
# PPC-NEXT:       Machine: EM_PPC64 (0x15)
# SPARC-NEXT:     Machine: EM_SPARC (0x2)
# X86-64-NEXT:    Machine: EM_X86_64 (0x3E)
# CHECK-NEXT:     Version: 1
# CHECK-NEXT:     Entry: 0x0
# CHECK-NEXT:     ProgramHeaderOffset:
# CHECK-NEXT:     SectionHeaderOffset:
# CHECK-NEXT:     Flags [ (0x0)
# CHECK-NEXT:     ]
# 32-NEXT:        HeaderSize: 52
# 64-NEXT:        HeaderSize: 64
# 32-NEXT:        ProgramHeaderEntrySize: 0
# 64-NEXT:        ProgramHeaderEntrySize: 0
# CHECK-NEXT:     ProgramHeaderCount: 0
# 32-NEXT:        SectionHeaderEntrySize: 40
# 64-NEXT:        SectionHeaderEntrySize: 64
# CHECK-NEXT:     SectionHeaderCount: 4
# CHECK-NEXT:     StringTableSectionIndex:
# CHECK-NEXT:   }
OpenPOWER on IntegriCloud