1 ## In this test we test how machine-specific dynamic tags are dumped.
3 ## Case 1: Test that hexagon machine-specific tags can be dumped.
4 # RUN: yaml2obj --docnum=1 -o %t.hex %s
5 # RUN: llvm-objdump -p %t.hex | FileCheck %s --check-prefix=HEXAGON
7 # HEXAGON: Dynamic Section:
8 # HEXAGON-NEXT: HEXAGON_SYMSZ 0x0000000000000010
9 # HEXAGON-NEXT: HEXAGON_VER 0x0000000000001000
10 # HEXAGON-NEXT: HEXAGON_PLT 0x0000000000001000
22 - Tag: DT_HEXAGON_SYMSZ
38 ## Case 2: Test that MIPS machine-specific tags can be dumped.
39 ## MIPS has a few long tag names. Show that we indent columns properly.
40 # RUN: yaml2obj --docnum=2 -o %t.mips %s
41 # RUN: llvm-objdump -p %t.mips | FileCheck %s --strict-whitespace --match-full-lines --check-prefix=MIPS
43 # MIPS:Dynamic Section:
44 # MIPS-NEXT: MIPS_RLD_VERSION 0x0000000012345678
45 # MIPS-NEXT: MIPS_TIME_STAMP 0x0000000011223344
46 # MIPS-NEXT: MIPS_ICHECKSUM 0x0000000011112222
47 # MIPS-NEXT: MIPS_IVERSION 0x0000000000000001
48 # MIPS-NEXT: MIPS_FLAGS 0x0000000011111111
49 # MIPS-NEXT: MIPS_BASE_ADDRESS 0x0000000087654321
50 # MIPS-NEXT: MIPS_MSYM 0x0000000000001000
51 # MIPS-NEXT: MIPS_CONFLICT 0x0000000000001000
52 # MIPS-NEXT: MIPS_LIBLIST 0x0000000000001000
53 # MIPS-NEXT: MIPS_LOCAL_GOTNO 0x0000000000000001
54 # MIPS-NEXT: MIPS_CONFLICTNO 0x0000000000000001
55 # MIPS-NEXT: MIPS_LIBLISTNO 0x0000000000000001
56 # MIPS-NEXT: MIPS_SYMTABNO 0x0000000000000001
57 # MIPS-NEXT: MIPS_UNREFEXTNO 0x0000000000000000
58 # MIPS-NEXT: MIPS_GOTSYM 0x0000000000000000
59 # MIPS-NEXT: MIPS_HIPAGENO 0x0000000088776655
60 # MIPS-NEXT: MIPS_RLD_MAP 0x0000000000001000
61 # MIPS-NEXT: MIPS_DELTA_CLASS 0x0000000000001000
62 # MIPS-NEXT: MIPS_DELTA_CLASS_NO 0x0000000000000001
63 # MIPS-NEXT: MIPS_DELTA_INSTANCE 0x0000000000001000
64 # MIPS-NEXT: MIPS_DELTA_INSTANCE_NO 0x0000000000000001
65 # MIPS-NEXT: MIPS_DELTA_RELOC 0x0000000000001000
66 # MIPS-NEXT: MIPS_DELTA_RELOC_NO 0x0000000000000001
67 # MIPS-NEXT: MIPS_DELTA_SYM 0x0000000000001000
68 # MIPS-NEXT: MIPS_DELTA_SYM_NO 0x0000000000000001
69 # MIPS-NEXT: MIPS_DELTA_CLASSSYM 0x0000000000001000
70 # MIPS-NEXT: MIPS_DELTA_CLASSSYM_NO 0x0000000000000001
71 # MIPS-NEXT: MIPS_CXX_FLAGS 0x0000000088887777
72 # MIPS-NEXT: MIPS_PIXIE_INIT 0x0000000000001000
73 # MIPS-NEXT: MIPS_LOCALPAGE_GOTIDX 0x0000000000000001
74 # MIPS-NEXT: MIPS_LOCAL_GOTIDX 0x0000000000000001
75 # MIPS-NEXT: MIPS_HIDDEN_GOTIDX 0x0000000000000001
76 # MIPS-NEXT: MIPS_PROTECTED_GOTIDX 0x0000000000000001
77 # MIPS-NEXT: MIPS_OPTIONS 0x0000000000001000
78 # MIPS-NEXT: MIPS_INTERFACE 0x0000000000001000
79 # MIPS-NEXT: MIPS_DYNSTR_ALIGN 0x0000000088888888
80 # MIPS-NEXT: MIPS_INTERFACE_SIZE 0x0000000000000010
81 # MIPS-NEXT: MIPS_RLD_TEXT_RESOLVE_ADDR 0x0000000000000008
82 # MIPS-NEXT: MIPS_PERF_SUFFIX 0x0000000000000000
83 # MIPS-NEXT: MIPS_COMPACT_SIZE 0x0000000000000010
84 # MIPS-NEXT: MIPS_GP_VALUE 0x0000000000000001
85 # MIPS-NEXT: MIPS_AUX_DYNAMIC 0x0000000000001000
86 # MIPS-NEXT: MIPS_PLTGOT 0x0000000000001000
87 # MIPS-NEXT: MIPS_RWPLT 0x0000000000001000
88 # MIPS-NEXT: MIPS_RLD_MAP_REL 0x0000000000001000
100 - Tag: DT_MIPS_RLD_VERSION
102 - Tag: DT_MIPS_TIME_STAMP
104 - Tag: DT_MIPS_ICHECKSUM
106 - Tag: DT_MIPS_IVERSION
110 - Tag: DT_MIPS_BASE_ADDRESS
114 - Tag: DT_MIPS_CONFLICT
116 - Tag: DT_MIPS_LIBLIST
118 - Tag: DT_MIPS_LOCAL_GOTNO
120 - Tag: DT_MIPS_CONFLICTNO
122 - Tag: DT_MIPS_LIBLISTNO
124 - Tag: DT_MIPS_SYMTABNO
126 - Tag: DT_MIPS_UNREFEXTNO
128 - Tag: DT_MIPS_GOTSYM
130 - Tag: DT_MIPS_HIPAGENO
132 - Tag: DT_MIPS_RLD_MAP
134 - Tag: DT_MIPS_DELTA_CLASS
136 - Tag: DT_MIPS_DELTA_CLASS_NO
138 - Tag: DT_MIPS_DELTA_INSTANCE
140 - Tag: DT_MIPS_DELTA_INSTANCE_NO
142 - Tag: DT_MIPS_DELTA_RELOC
144 - Tag: DT_MIPS_DELTA_RELOC_NO
146 - Tag: DT_MIPS_DELTA_SYM
148 - Tag: DT_MIPS_DELTA_SYM_NO
150 - Tag: DT_MIPS_DELTA_CLASSSYM
152 - Tag: DT_MIPS_DELTA_CLASSSYM_NO
154 - Tag: DT_MIPS_CXX_FLAGS
156 - Tag: DT_MIPS_PIXIE_INIT
158 - Tag: DT_MIPS_LOCALPAGE_GOTIDX
160 - Tag: DT_MIPS_LOCAL_GOTIDX
162 - Tag: DT_MIPS_HIDDEN_GOTIDX
164 - Tag: DT_MIPS_PROTECTED_GOTIDX
166 - Tag: DT_MIPS_OPTIONS
168 - Tag: DT_MIPS_INTERFACE
170 - Tag: DT_MIPS_DYNSTR_ALIGN
172 - Tag: DT_MIPS_INTERFACE_SIZE
174 - Tag: DT_MIPS_RLD_TEXT_RESOLVE_ADDR
176 - Tag: DT_MIPS_PERF_SUFFIX
178 - Tag: DT_MIPS_COMPACT_SIZE
180 - Tag: DT_MIPS_GP_VALUE
182 - Tag: DT_MIPS_AUX_DYNAMIC
184 - Tag: DT_MIPS_PLTGOT
188 - Tag: DT_MIPS_RLD_MAP_REL
200 ## Case 3: Test that PPC machine-specific tags can be dumped.
201 # RUN: yaml2obj --docnum=3 -o %t.ppc %s
202 # RUN: llvm-objdump -p %t.ppc | FileCheck %s --check-prefix=PPC
204 # PPC: Dynamic Section:
205 # PPC-NEXT: PPC_GOT 0x000200c0
206 # PPC-NEXT: PPC_OPT 0x00000001
232 ## Case 4: Test that PPC64 machine-specific tags can be dumped.
233 # RUN: yaml2obj --docnum=4 -o %t.ppc64 %s
234 # RUN: llvm-objdump -p %t.ppc64 | FileCheck %s --check-prefix=PPC64
236 # PPC64: Dynamic Section:
237 # PPC64-NEXT: PPC64_GLINK 0x0000000000001000
249 - Tag: DT_PPC64_GLINK
261 ## Case 5: Test that AARCH64 machine-specific tags can be dumped.
262 # RUN: yaml2obj --docnum=5 -o %t.aarch64 %s
263 # RUN: llvm-objdump -p %t.aarch64 | FileCheck %s --check-prefix=AARCH64
265 # AARCH64: Dynamic Section:
266 # AARCH64-NEXT: AARCH64_BTI_PLT 0x0000000000000001
267 # AARCH64-NEXT: AARCH64_PAC_PLT 0x0000000000000002
279 - Tag: DT_AARCH64_BTI_PLT
281 - Tag: DT_AARCH64_PAC_PLT