|
6 | 6 |
|
7 | 7 | # Without --output-format, the format should match the input.
|
8 | 8 | # RUN: llvm-objcopy %t.o %t.default.o --split-dwo=%t.default.dwo
|
9 |
| -# RUN: llvm-readobj --file-headers %t.default.o | FileCheck %s --check-prefixes=CHECK,DEFAULT,32 |
10 |
| -# RUN: llvm-readobj --file-headers %t.default.dwo | FileCheck %s --check-prefixes=CHECK,DEFAULT,32 |
| 9 | +# RUN: llvm-readobj --file-headers %t.default.o | FileCheck %s --check-prefixes=CHECK,LE,DEFAULT,32 |
| 10 | +# RUN: llvm-readobj --file-headers %t.default.dwo | FileCheck %s --check-prefixes=CHECK,LE,DEFAULT,32 |
11 | 11 |
|
12 | 12 | # RUN: llvm-objcopy %t.o -O elf32-i386 %t.elf32_i386.o --split-dwo=%t.elf32_i386.dwo
|
13 |
| -# RUN: llvm-readobj --file-headers %t.elf32_i386.o | FileCheck %s --check-prefixes=CHECK,I386,32,SYSV |
14 |
| -# RUN: llvm-readobj --file-headers %t.elf32_i386.dwo | FileCheck %s --check-prefixes=CHECK,I386,32,SYSV |
| 13 | +# RUN: llvm-readobj --file-headers %t.elf32_i386.o | FileCheck %s --check-prefixes=CHECK,LE,I386,32,SYSV |
| 14 | +# RUN: llvm-readobj --file-headers %t.elf32_i386.dwo | FileCheck %s --check-prefixes=CHECK,LE,I386,32,SYSV |
15 | 15 |
|
16 | 16 | # RUN: llvm-objcopy %t.o -O elf32-i386-freebsd %t.elf32_i386_freebsd.o --split-dwo=%t.elf32_i386_freebsd.dwo
|
17 |
| -# RUN: llvm-readobj --file-headers %t.elf32_i386_freebsd.o | FileCheck %s --check-prefixes=CHECK,I386,32,FREEBSD |
18 |
| -# RUN: llvm-readobj --file-headers %t.elf32_i386_freebsd.dwo | FileCheck %s --check-prefixes=CHECK,I386,32,FREEBSD |
| 17 | +# RUN: llvm-readobj --file-headers %t.elf32_i386_freebsd.o | FileCheck %s --check-prefixes=CHECK,LE,I386,32,FREEBSD |
| 18 | +# RUN: llvm-readobj --file-headers %t.elf32_i386_freebsd.dwo | FileCheck %s --check-prefixes=CHECK,LE,I386,32,FREEBSD |
| 19 | + |
| 20 | +# RUN: llvm-objcopy %t.o -O elf32-iamcu %t.elf32_iamcu.o --split-dwo=%t.elf32_iamcu.dwo |
| 21 | +# RUN: llvm-readobj --file-headers %t.elf32_iamcu.o | FileCheck %s --check-prefixes=CHECK,LE,IAMCU,32,SYSV |
| 22 | +# RUN: llvm-readobj --file-headers %t.elf32_iamcu.dwo | FileCheck %s --check-prefixes=CHECK,LE,IAMCU,32,SYSV |
| 23 | + |
| 24 | +# RUN: llvm-objcopy %t.o -O elf32-littlearm %t.elf32_littlearm.o --split-dwo=%t.elf32_littlearm.dwo |
| 25 | +# RUN: llvm-readobj --file-headers %t.elf32_littlearm.o | FileCheck %s --check-prefixes=CHECK,LE,ARM,32,SYSV |
| 26 | +# RUN: llvm-readobj --file-headers %t.elf32_littlearm.dwo | FileCheck %s --check-prefixes=CHECK,LE,ARM,32,SYSV |
| 27 | + |
| 28 | +# RUN: llvm-objcopy %t.o -O elf64-aarch64 %t.elf64_aarch64.o --split-dwo=%t.elf64_aarch64.dwo |
| 29 | +# RUN: llvm-readobj --file-headers %t.elf64_aarch64.o | FileCheck %s --check-prefixes=CHECK,LE,AARCH,64,SYSV |
| 30 | +# RUN: llvm-readobj --file-headers %t.elf64_aarch64.dwo | FileCheck %s --check-prefixes=CHECK,LE,AARCH,64,SYSV |
| 31 | + |
| 32 | +# RUN: llvm-objcopy %t.o -O elf64-littleaarch64 %t.elf64_littleaarch64.o --split-dwo=%t.elf64_littleaarch64.dwo |
| 33 | +# RUN: llvm-readobj --file-headers %t.elf64_littleaarch64.o | FileCheck %s --check-prefixes=CHECK,LE,AARCH,64,SYSV |
| 34 | +# RUN: llvm-readobj --file-headers %t.elf64_littleaarch64.dwo | FileCheck %s --check-prefixes=CHECK,LE,AARCH,64,SYSV |
| 35 | + |
| 36 | +# RUN: llvm-objcopy %t.o -O elf32-powerpc %t.elf32_powerpc.o --split-dwo=%t.elf32_powerpc.dwo |
| 37 | +# RUN: llvm-readobj --file-headers %t.elf32_powerpc.o | FileCheck %s --check-prefixes=CHECK,BE,PPC,32,SYSV |
| 38 | +# RUN: llvm-readobj --file-headers %t.elf32_powerpc.dwo | FileCheck %s --check-prefixes=CHECK,BE,PPC,32,SYSV |
| 39 | + |
| 40 | +# RUN: llvm-objcopy %t.o -O elf64-powerpc %t.elf64_powerpc.o --split-dwo=%t.elf64_powerpc.dwo |
| 41 | +# RUN: llvm-readobj --file-headers %t.elf64_powerpc.o | FileCheck %s --check-prefixes=CHECK,BE,PPC64BE,64,SYSV |
| 42 | +# RUN: llvm-readobj --file-headers %t.elf64_powerpc.dwo | FileCheck %s --check-prefixes=CHECK,BE,PPC64BE,64,SYSV |
19 | 43 |
|
20 | 44 | # RUN: llvm-objcopy %t.o -O elf32-powerpcle %t.elf32_ppcle.o --split-dwo=%t.elf32_ppcle.dwo
|
21 |
| -# RUN: llvm-readobj --file-headers %t.elf32_ppcle.o | FileCheck %s --check-prefixes=CHECK,PPC,32,SYSV |
22 |
| -# RUN: llvm-readobj --file-headers %t.elf32_ppcle.dwo | FileCheck %s --check-prefixes=CHECK,PPC,32,SYSV |
| 45 | +# RUN: llvm-readobj --file-headers %t.elf32_ppcle.o | FileCheck %s --check-prefixes=CHECK,LE,PPC,32,SYSV |
| 46 | +# RUN: llvm-readobj --file-headers %t.elf32_ppcle.dwo | FileCheck %s --check-prefixes=CHECK,LE,PPC,32,SYSV |
23 | 47 |
|
24 | 48 | # RUN: llvm-objcopy %t.o -O elf32-x86-64 %t.elf32_x86_64.o --split-dwo=%t.elf32_x86_64.dwo
|
25 |
| -# RUN: llvm-readobj --file-headers %t.elf32_x86_64.o | FileCheck %s --check-prefixes=CHECK,X86-64,32,SYSV |
26 |
| -# RUN: llvm-readobj --file-headers %t.elf32_x86_64.dwo | FileCheck %s --check-prefixes=CHECK,X86-64,32,SYSV |
| 49 | +# RUN: llvm-readobj --file-headers %t.elf32_x86_64.o | FileCheck %s --check-prefixes=CHECK,LE,X86-64,32,SYSV |
| 50 | +# RUN: llvm-readobj --file-headers %t.elf32_x86_64.dwo | FileCheck %s --check-prefixes=CHECK,LE,X86-64,32,SYSV |
27 | 51 |
|
28 | 52 | # RUN: llvm-objcopy %t.o -O elf64-powerpcle %t.elf64_ppcle.o --split-dwo=%t.elf64_ppcle.dwo
|
29 |
| -# RUN: llvm-readobj --file-headers %t.elf64_ppcle.o | FileCheck %s --check-prefixes=CHECK,PPC64,64,SYSV |
30 |
| -# RUN: llvm-readobj --file-headers %t.elf64_ppcle.dwo | FileCheck %s --check-prefixes=CHECK,PPC64,64,SYSV |
| 53 | +# RUN: llvm-readobj --file-headers %t.elf64_ppcle.o | FileCheck %s --check-prefixes=CHECK,LE,PPC64LE,64,SYSV |
| 54 | +# RUN: llvm-readobj --file-headers %t.elf64_ppcle.dwo | FileCheck %s --check-prefixes=CHECK,LE,PPC64LE,64,SYSV |
31 | 55 |
|
32 | 56 | # RUN: llvm-objcopy %t.o -O elf64-x86-64 %t.elf64_x86_64.o --split-dwo=%t.elf64_x86_64.dwo
|
33 |
| -# RUN: llvm-readobj --file-headers %t.elf64_x86_64.o | FileCheck %s --check-prefixes=CHECK,X86-64,64,SYSV |
34 |
| -# RUN: llvm-readobj --file-headers %t.elf64_x86_64.dwo | FileCheck %s --check-prefixes=CHECK,X86-64,64,SYSV |
| 57 | +# RUN: llvm-readobj --file-headers %t.elf64_x86_64.o | FileCheck %s --check-prefixes=CHECK,LE,X86-64,64,SYSV |
| 58 | +# RUN: llvm-readobj --file-headers %t.elf64_x86_64.dwo | FileCheck %s --check-prefixes=CHECK,LE,X86-64,64,SYSV |
35 | 59 |
|
36 | 60 | # RUN: llvm-objcopy %t.o -O elf64-x86-64-freebsd %t.elf64_x86_64_freebsd.o --split-dwo=%t.elf64_x86_64_freebsd.dwo
|
37 |
| -# RUN: llvm-readobj --file-headers %t.elf64_x86_64_freebsd.o | FileCheck %s --check-prefixes=CHECK,X86-64,64,FREEBSD |
38 |
| -# RUN: llvm-readobj --file-headers %t.elf64_x86_64_freebsd.dwo | FileCheck %s --check-prefixes=CHECK,X86-64,64,FREEBSD |
| 61 | +# RUN: llvm-readobj --file-headers %t.elf64_x86_64_freebsd.o | FileCheck %s --check-prefixes=CHECK,LE,X86-64,64,FREEBSD |
| 62 | +# RUN: llvm-readobj --file-headers %t.elf64_x86_64_freebsd.dwo | FileCheck %s --check-prefixes=CHECK,LE,X86-64,64,FREEBSD |
| 63 | + |
| 64 | +# RUN: llvm-objcopy %t.o -O elf32-tradbigmips %t.elf32_tradbigmips.o --split-dwo=%t.elf32_tradbigmips.dwo |
| 65 | +# RUN: llvm-readobj --file-headers %t.elf32_tradbigmips.o | FileCheck %s --check-prefixes=CHECK,BE,MIPS,MIPSBE,32,SYSV |
| 66 | +# RUN: llvm-readobj --file-headers %t.elf32_tradbigmips.dwo | FileCheck %s --check-prefixes=CHECK,BE,MIPS,MIPSBE,32,SYSV |
| 67 | + |
| 68 | +# RUN: llvm-objcopy %t.o -O elf32-bigmips %t.elf32_bigmips.o --split-dwo=%t.elf32_bigmips.dwo |
| 69 | +# RUN: llvm-readobj --file-headers %t.elf32_bigmips.o | FileCheck %s --check-prefixes=CHECK,BE,MIPS,MIPSBE,32,SYSV |
| 70 | +# RUN: llvm-readobj --file-headers %t.elf32_bigmips.dwo | FileCheck %s --check-prefixes=CHECK,BE,MIPS,MIPSBE,32,SYSV |
| 71 | + |
| 72 | +# RUN: llvm-objcopy %t.o -O elf32-ntradbigmips %t.elf32_ntradbigmips.o --split-dwo=%t.elf32_ntradbigmips.dwo |
| 73 | +# RUN: llvm-readobj --file-headers %t.elf32_ntradbigmips.o | FileCheck %s --check-prefixes=CHECK,BE,MIPS,MIPSBE,32,SYSV |
| 74 | +# RUN: llvm-readobj --file-headers %t.elf32_ntradbigmips.dwo | FileCheck %s --check-prefixes=CHECK,BE,MIPS,MIPSBE,32,SYSV |
| 75 | + |
| 76 | +# RUN: llvm-objcopy %t.o -O elf32-tradlittlemips %t.elf32_tradlittlemips.o --split-dwo=%t.elf32_tradlittlemips.dwo |
| 77 | +# RUN: llvm-readobj --file-headers %t.elf32_tradlittlemips.o | FileCheck %s --check-prefixes=CHECK,LE,MIPS,MIPSLE,32,SYSV |
| 78 | +# RUN: llvm-readobj --file-headers %t.elf32_tradlittlemips.dwo | FileCheck %s --check-prefixes=CHECK,LE,MIPS,MIPSLE,32,SYSV |
| 79 | + |
| 80 | +# RUN: llvm-objcopy %t.o -O elf32-ntradlittlemips %t.elf32_ntradlittlemips.o --split-dwo=%t.elf32_ntradlittlemips.dwo |
| 81 | +# RUN: llvm-readobj --file-headers %t.elf32_ntradlittlemips.o | FileCheck %s --check-prefixes=CHECK,LE,MIPS,MIPSLE,32,SYSV |
| 82 | +# RUN: llvm-readobj --file-headers %t.elf32_ntradlittlemips.dwo | FileCheck %s --check-prefixes=CHECK,LE,MIPS,MIPSLE,32,SYSV |
| 83 | + |
| 84 | +# RUN: llvm-objcopy %t.o -O elf64-tradbigmips %t.elf64_tradbigmips.o --split-dwo=%t.elf64_tradbigmips.dwo |
| 85 | +# RUN: llvm-readobj --file-headers %t.elf64_tradbigmips.o | FileCheck %s --check-prefixes=CHECK,BE,MIPS,MIPS64BE,64,SYSV |
| 86 | +# RUN: llvm-readobj --file-headers %t.elf64_tradbigmips.dwo | FileCheck %s --check-prefixes=CHECK,BE,MIPS,MIPS64BE,64,SYSV |
| 87 | + |
| 88 | +# RUN: llvm-objcopy %t.o -O elf64-tradlittlemips %t.elf64_tradlittlemips.o --split-dwo=%t.elf64_tradlittlemips.dwo |
| 89 | +# RUN: llvm-readobj --file-headers %t.elf64_tradlittlemips.o | FileCheck %s --check-prefixes=CHECK,LE,MIPS,MIPS64LE,64,SYSV |
| 90 | +# RUN: llvm-readobj --file-headers %t.elf64_tradlittlemips.dwo | FileCheck %s --check-prefixes=CHECK,LE,MIPS,MIPS64LE,64,SYSV |
39 | 91 |
|
40 | 92 | !ELF
|
41 | 93 | FileHeader:
|
@@ -68,29 +120,47 @@ Symbols:
|
68 | 120 | # 32-SAME: ELF32-
|
69 | 121 | # 64-SAME: ELF64-
|
70 | 122 | # I386-SAME: i386
|
| 123 | +# IAMCU-SAME: iamcu |
| 124 | +# AARCH-SAME: aarch64 |
| 125 | +# ARM-SAME: arm-little |
| 126 | +# MIPS-SAME: mips |
71 | 127 | # PPC-SAME: ppc{{$}}
|
72 |
| -# PPC64-SAME: ppc64 |
| 128 | +# PPC64BE-SAME: ppc64{{$}} |
| 129 | +# PPC64LE-SAME: ppc64{{$}} |
73 | 130 | # X86-64-SAME: x86-64
|
74 | 131 | # DEFAULT-SAME: unknown
|
75 | 132 |
|
76 |
| -# I386-NEXT: Arch: i386 |
77 |
| -# PPC-NEXT: Arch: powerpc{{$}} |
78 |
| -# PPC64-NEXT: Arch: powerpc64le |
79 |
| -# X86-64-NEXT: Arch: x86_64 |
80 |
| -# DEFAULT-NEXT: Arch: unknown |
| 133 | +# I386-NEXT: Arch: i386 |
| 134 | +# IAMCU-NEXT: Arch: i386 |
| 135 | +# AARCH-NEXT: Arch: aarch64 |
| 136 | +# ARM-NEXT: Arch: arm |
| 137 | +# MIPSBE-NEXT: Arch: mips{{$}} |
| 138 | +# MIPSLE-NEXT: Arch: mipsel{{$}} |
| 139 | +# MIPS64BE-NEXT: Arch: mips64{{$}} |
| 140 | +# MIPS64LE-NEXT: Arch: mips64el{{$}} |
| 141 | +# PPC-NEXT: Arch: powerpc{{$}} |
| 142 | +# PPC64BE-NEXT: Arch: powerpc64{{$}} |
| 143 | +# PPC64LE-NEXT: Arch: powerpc64le |
| 144 | +# X86-64-NEXT: Arch: x86_64 |
| 145 | +# DEFAULT-NEXT: Arch: unknown |
81 | 146 |
|
82 | 147 | # 32-NEXT: AddressSize: 32bit
|
83 | 148 | # 64-NEXT: AddressSize: 64bit
|
84 | 149 |
|
85 |
| -# 32: Class: 32-bit |
86 |
| -# 64: Class: 64-bit |
87 |
| -# CHECK: DataEncoding: LittleEndian |
| 150 | +# 32: Class: 32-bit |
| 151 | +# 64: Class: 64-bit |
| 152 | +# LE: DataEncoding: LittleEndian |
| 153 | +# BE: DataEncoding: BigEndian |
88 | 154 |
|
89 | 155 | # SYSV: OS/ABI: SystemV (0x0)
|
90 | 156 | # FREEBSD: OS/ABI: FreeBSD (0x9)
|
91 | 157 | # DEFAULT: OS/ABI: Standalone (0xFF)
|
92 | 158 |
|
| 159 | +# AARCH: Machine: EM_AARCH64 (0xB7) |
| 160 | +# ARM: Machine: EM_ARM (0x28) |
93 | 161 | # I386: Machine: EM_386 (0x3)
|
| 162 | +# IAMCU: Machine: EM_IAMCU (0x6) |
| 163 | +# MIPS: Machine: EM_MIPS (0x8) |
94 | 164 | # PPC: Machine: EM_PPC (0x14)
|
95 | 165 | # PPC64: Machine: EM_PPC64 (0x15)
|
96 | 166 | # X86-64: Machine: EM_X86_64 (0x3E)
|
|
0 commit comments