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