1# RUN: yaml2obj %s -o %t.o
2# RUN: llvm-readobj --notes %t.o | FileCheck %s --check-prefix=LLVM
3# RUN: llvm-readelf --notes %t.o | FileCheck %s --check-prefix=GNU
4
5# GNU:      Displaying notes found in: .note.foo
6# GNU-NEXT:   Owner                Data size        Description
7# GNU-NEXT:   AMDGPU               0x000000d4       NT_AMDGPU_METADATA (AMDGPU Metadata)
8# GNU-NEXT:     AMDGPU Metadata:
9# GNU-NEXT:         Invalid AMDGPU Metadata
10# GNU-NEXT:         ---
11# GNU-NEXT: amdhsa.kernels:
12# GNU-NEXT:   - .group_segment_fixed_size: 2
13# GNU-NEXT:     .kernarg_segment_align: 4
14# GNU-NEXT:     .kernarg_segment_size: 1
15# GNU-NEXT:     .max_flat_workgroup_size: 8
16# GNU-NEXT:     .name:           foo
17# GNU-NEXT:     .private_segment_fixed_size: 3
18# GNU-NEXT:     .sgpr_count:     6
19# GNU-NEXT:     .symbol:         foo
20# GNU-NEXT:     .vgpr_count:     7
21# GNU-NEXT:     .wavefront_size: 5
22# GNU-NEXT: ...
23
24# LLVM:      Notes [
25# LLVM-NEXT:   NoteSection {
26# LLVM-NEXT:     Name: .note.foo
27# LLVM-NEXT:     Offset: 0x40
28# LLVM-NEXT:     Size: 0xE8
29# LLVM-NEXT:     Note {
30# LLVM-NEXT:       Owner: AMDGPU
31# LLVM-NEXT:       Data size: 0xD4
32# LLVM-NEXT:       Type: NT_AMDGPU_METADATA (AMDGPU Metadata)
33# LLVM-NEXT:       AMDGPU Metadata: Invalid AMDGPU Metadata
34# LLVM-NEXT: ---
35# LLVM-NEXT: amdhsa.kernels:
36# LLVM-NEXT:   - .group_segment_fixed_size: 2
37# LLVM-NEXT:     .kernarg_segment_align: 4
38# LLVM-NEXT:     .kernarg_segment_size: 1
39# LLVM-NEXT:     .max_flat_workgroup_size: 8
40# LLVM-NEXT:     .name:           foo
41# LLVM-NEXT:     .private_segment_fixed_size: 3
42# LLVM-NEXT:     .sgpr_count:     6
43# LLVM-NEXT:     .symbol:         foo
44# LLVM-NEXT:     .vgpr_count:     7
45# LLVM-NEXT:     .wavefront_size: 5
46# LLVM-NEXT: ...
47# LLVM-EMPTY:
48# LLVM-NEXT:     }
49# LLVM-NEXT:   }
50# LLVM-NEXT: ]
51
52## Use yaml2obj instead of llvm-mc for more test portability. This was
53## generated by grabbing section data from note-amdgpu.s and removing the amdhsa.version field.
54
55--- !ELF
56FileHeader:
57  Class: ELFCLASS64
58  Data:  ELFDATA2LSB
59  Type:  ET_REL
60Sections:
61  - Name:        .note.foo
62    Type:        SHT_NOTE
63    Content:     07000000D400000020000000414D44475055000081ae616d646873612e6b65726e656c73918ab92e67726f75705f7365676d656e745f66697865645f73697a6502b62e6b65726e6172675f7365676d656e745f616c69676e04b52e6b65726e6172675f7365676d656e745f73697a6501b82e6d61785f666c61745f776f726b67726f75705f73697a6508a52e6e616d65a3666f6fbb2e707269766174655f7365676d656e745f66697865645f73697a6503ab2e736770725f636f756e7406a72e73796d626f6ca3666f6fab2e766770725f636f756e7407af2e7761766566726f6e745f73697a6505
64