xref: /llvm-project/llvm/test/tools/llvm-readobj/ELF/note-amd.s (revision ab930ee7cad8b8bf7968bb8d0c0d72524e2313c4)
1// REQUIRES: x86-registered-target
2// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o %t.o
3
4// RUN: llvm-readobj --notes %t.o | FileCheck %s --check-prefix=LLVM
5// RUN: llvm-readelf --notes %t.o | FileCheck %s --check-prefix=GNU
6
7// GNU:      Displaying notes found in: .note.no.desc
8// GNU-NEXT:   Owner                Data size        Description
9// GNU-NEXT:   AMD                  0x00000000       NT_AMD_HSA_METADATA (AMD HSA Metadata)
10// GNU-NEXT:     AMD HSA Metadata:
11// GNU-NEXT: {{^        $}}
12// GNU-NEXT:   AMD                  0x00000000       NT_AMD_HSA_ISA_NAME (AMD HSA ISA Name)
13// GNU-NEXT:     AMD HSA ISA Name:
14// GNU-NEXT: {{^        $}}
15// GNU-EMPTY:
16// GNU-NEXT: Displaying notes found in: .note.desc
17// GNU-NEXT:   Owner                Data size        Description
18// GNU-NEXT:   AMD                  0x0000000a       NT_AMD_HSA_METADATA (AMD HSA Metadata)
19// GNU-NEXT:     AMD HSA Metadata:
20// GNU-NEXT:     meta_blah
21// GNU-NEXT:   AMD                  0x00000009       NT_AMD_HSA_ISA_NAME (AMD HSA ISA Name)
22// GNU-NEXT:     AMD HSA ISA Name:
23// GNU-NEXT:     isa_blah
24// GNU-EMPTY:
25// GNU-NEXT: Displaying notes found in: .note.other
26// GNU-NEXT:   Owner                Data size        Description
27// GNU-NEXT:   AMD                  0x00000000       NT_AMD_PAL_METADATA (AMD PAL Metadata)
28// GNU-NEXT:     AMD PAL Metadata:
29// GNU-NEXT: {{^        $}}
30// GNU-EMPTY:
31// GNU-NEXT: Displaying notes found in: .note.unknown
32// GNU-NEXT:   Owner                Data size 	Description
33// GNU-NEXT:   AMD                  0x00000007	Unknown note type: (0x000004d2)
34// GNU-NEXT:    description data: 61 62 63 64 65 66 00
35// GNU-EMPTY:
36
37// LLVM:      NoteSections [
38// LLVM-NEXT:   NoteSection {
39// LLVM-NEXT:     Name: .note.no.desc
40// LLVM-NEXT:     Offset:
41// LLVM-NEXT:     Size:
42// LLVM-NEXT:	  Notes [
43// LLVM-NEXT:     {
44// LLVM-NEXT:       Owner: AMD
45// LLVM-NEXT:       Data size: 0x0
46// LLVM-NEXT:       Type: NT_AMD_HSA_METADATA (AMD HSA Metadata)
47// LLVM-NEXT:       AMD HSA Metadata:
48// LLVM-NEXT:     }
49// LLVM-NEXT:     {
50// LLVM-NEXT:       Owner: AMD
51// LLVM-NEXT:       Data size: 0x0
52// LLVM-NEXT:       Type: NT_AMD_HSA_ISA_NAME (AMD HSA ISA Name)
53// LLVM-NEXT:       AMD HSA ISA Name:
54// LLVM-NEXT:     }
55// LLVM-NEXT:	 ]
56// LLVM-NEXT:   }
57// LLVM-NEXT:   NoteSection {
58// LLVM-NEXT:     Name: .note.desc
59// LLVM-NEXT:     Offset:
60// LLVM-NEXT:     Size:
61// LLVM-NEXT:	  Notes [
62// LLVM-NEXT:     {
63// LLVM-NEXT:       Owner: AMD
64// LLVM-NEXT:       Data size: 0xA
65// LLVM-NEXT:       Type: NT_AMD_HSA_METADATA (AMD HSA Metadata)
66// LLVM-NEXT:       AMD HSA Metadata: meta_blah
67// LLVM-NEXT:     }
68// LLVM-NEXT:     {
69// LLVM-NEXT:       Owner: AMD
70// LLVM-NEXT:       Data size: 0x9
71// LLVM-NEXT:       Type: NT_AMD_HSA_ISA_NAME (AMD HSA ISA Name)
72// LLVM-NEXT:       AMD HSA ISA Name: isa_blah
73// LLVM-NEXT:     }
74// LLVM-NEXT:	 ]
75// LLVM-NEXT:   }
76// LLVM-NEXT:   NoteSection {
77// LLVM-NEXT:     Name: .note.other
78// LLVM-NEXT:     Offset:
79// LLVM-NEXT:     Size:
80// LLVM-NEXT:	  Notes [
81// LLVM-NEXT:     {
82// LLVM-NEXT:       Owner: AMD
83// LLVM-NEXT:       Data size: 0x0
84// LLVM-NEXT:       Type: NT_AMD_PAL_METADATA (AMD PAL Metadata)
85// LLVM-NEXT:       AMD PAL Metadata:
86// LLVM-NEXT:     }
87// LLVM-NEXT:	 ]
88// LLVM-NEXT:   }
89// LLVM-NEXT:   NoteSection {
90// LLVM-NEXT:     Name: .note.unknown
91// LLVM-NEXT:     Offset:
92// LLVM-NEXT:     Size:
93// LLVM-NEXT:	  Notes [
94// LLVM-NEXT:     {
95// LLVM-NEXT:       Owner: AMD
96// LLVM-NEXT:       Data size: 0x7
97// LLVM-NEXT:       Type: Unknown (0x000004d2)
98// LLVM-NEXT:       Description data (
99// LLVM-NEXT:         0000: 61626364 656600                      |abcdef.|
100// LLVM-NEXT:       )
101// LLVM-NEXT:     }
102// LLVM-NEXT:	 ]
103// LLVM-NEXT:   }
104// LLVM-NEXT: ]
105
106.section ".note.no.desc", "a"
107	.align 4
108	.long 4 /* namesz */
109	.long 0 /* descsz */
110	.long 10 /* type = NT_AMD_HSA_METADATA */
111	.asciz "AMD"
112	.long 4 /* namesz */
113	.long 0 /* descsz */
114	.long 11 /* type = NT_AMD_HSA_ISA_NAME */
115	.asciz "AMD"
116.section ".note.desc", "a"
117	.align 4
118	.long 4 /* namesz */
119	.long end.meta - begin.meta /* descsz */
120	.long 10 /* type = NT_AMD_HSA_METADATA */
121	.asciz "AMD"
122begin.meta:
123	.asciz "meta_blah"
124end.meta:
125	.align 4
126	.long 4 /* namesz */
127	.long end.isa - begin.isa /* descsz */
128	.long 11 /* type = NT_AMD_HSA_ISA_NAME */
129	.asciz "AMD"
130begin.isa:
131	.asciz "isa_blah"
132end.isa:
133	.align 4
134.section ".note.other", "a"
135	.align 4
136	.long 4 /* namesz */
137	.long 0 /* descsz */
138	.long 12 /* type = NT_AMD_PAL_METADATA */
139	.asciz "AMD"
140.section ".note.unknown", "a"
141	.align 4
142	.long 4 /* namesz */
143	.long end.unknown_data - begin.unknown_data /* descsz */
144	.long 1234 /* type = unknown */
145	.asciz "AMD"
146begin.unknown_data:
147	.asciz "abcdef"
148end.unknown_data:
149	.align 4
150