1# Show that all machine-specific section types are properly printed for both LLVM and
2# GNU styles for ELF files with that machine type.
3
4# RUN: yaml2obj %s --docnum=1 -o %t-arm.o
5# RUN: llvm-readobj --section-headers %t-arm.o | FileCheck %s --check-prefix=ARM-LLVM
6# RUN: llvm-readelf --section-headers %t-arm.o | FileCheck %s --check-prefix=ARM-GNU
7
8# RUN: yaml2obj %s --docnum=2 -o %t-x86_64.o
9# RUN: llvm-readobj --section-headers %t-x86_64.o | FileCheck %s --check-prefix=X86-LLVM
10# RUN: llvm-readelf --section-headers %t-x86_64.o | FileCheck %s --check-prefix=X86-GNU
11
12# RUN: yaml2obj %s --docnum=3 -o %t-mips.o
13# RUN: llvm-readobj --section-headers %t-mips.o | FileCheck %s --check-prefix=MIPS-LLVM
14# RUN: llvm-readelf --section-headers %t-mips.o | FileCheck %s --check-prefix=MIPS-GNU
15
16# ARM-LLVM: Name: exidx
17# ARM-LLVM: Type: SHT_ARM_EXIDX
18# ARM-LLVM: Name: preemptmap
19# ARM-LLVM: Type: SHT_ARM_PREEMPTMAP
20# ARM-LLVM: Name: attributes
21# ARM-LLVM: Type: SHT_ARM_ATTRIBUTES
22# ARM-LLVM: Name: debugoverlay
23# ARM-LLVM: Type: SHT_ARM_DEBUGOVERLAY
24# ARM-LLVM: Name: overlaysection
25# ARM-LLVM: Type: SHT_ARM_OVERLAYSECTION
26
27# ARM-GNU: exidx          ARM_EXIDX
28# ARM-GNU: preemptmap     ARM_PREEMPTMAP
29# ARM-GNU: attributes     ARM_ATTRIBUTES
30# ARM-GNU: debugoverlay   ARM_DEBUGOVERLAY
31# ARM-GNU: overlaysection ARM_OVERLAYSECTION
32
33# X86-LLVM: Name: unwind
34# X86-LLVM: Type: SHT_X86_64_UNWIND
35
36# X86-GNU: unwind X86_64_UNWIND
37
38# MIPS-LLVM: Name: reginfo
39# MIPS-LLVM: Type: SHT_MIPS_REGINFO
40# MIPS-LLVM: Name: options
41# MIPS-LLVM: Type: SHT_MIPS_OPTIONS
42# MIPS-LLVM: Name: abiflags
43# MIPS-LLVM: Type: SHT_MIPS_ABIFLAGS
44# MIPS-LLVM: Name: dwarf
45# MIPS-LLVM: Type: SHT_MIPS_DWARF
46
47# MIPS-GNU: reginfo  MIPS_REGINFO
48# MIPS-GNU: options  MIPS_OPTIONS
49# MIPS-GNU: abiflags MIPS_ABIFLAGS
50# MIPS-GNU: dwarf    MIPS_DWARF
51
52--- !ELF
53FileHeader:
54  Class:   ELFCLASS64
55  Data:    ELFDATA2LSB
56  Type:    ET_REL
57  Machine: EM_ARM
58Sections:
59  - Name: exidx
60    Type: SHT_ARM_EXIDX
61  - Name: preemptmap
62    Type: SHT_ARM_PREEMPTMAP
63  - Name: attributes
64    Type: SHT_ARM_ATTRIBUTES
65  - Name: debugoverlay
66    Type: SHT_ARM_DEBUGOVERLAY
67  - Name: overlaysection
68    Type: SHT_ARM_OVERLAYSECTION
69
70--- !ELF
71FileHeader:
72  Class:   ELFCLASS64
73  Data:    ELFDATA2LSB
74  Type:    ET_REL
75  Machine: EM_X86_64
76Sections:
77  - Name: unwind
78    Type: SHT_X86_64_UNWIND
79
80--- !ELF
81FileHeader:
82  Class:   ELFCLASS64
83  Data:    ELFDATA2LSB
84  Type:    ET_REL
85  Machine: EM_MIPS
86Sections:
87  - Name: reginfo
88    Type: SHT_MIPS_REGINFO
89  - Name: options
90    Type: SHT_MIPS_OPTIONS
91  - Name: abiflags
92    Type: SHT_MIPS_ABIFLAGS
93    ISA:  MIPS64
94  - Name: dwarf
95    Type: SHT_MIPS_DWARF
96