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 --strict-whitespace 5// RUN: llvm-readelf --notes %t.o | FileCheck %s --check-prefix=GNU --strict-whitespace 6 7// GNU: Displaying notes found in: .note.version{{$}} 8// GNU-NEXT: Owner Data size Description 9// GNU-NEXT: XYZ 0x00000000 NT_VERSION (version) 10// GNU-EMPTY: 11// GNU-NEXT: Displaying notes found in: .note.arch{{$}} 12// GNU-NEXT: Owner Data size Description 13// GNU-NEXT: XYZ 0x00000000 NT_ARCH (architecture) 14// GNU-EMPTY: 15// GNU-NEXT: Displaying notes found in: .note.open{{$}} 16// GNU-NEXT: Owner Data size Description 17// GNU-NEXT: XYZ 0x00000000 OPEN 18// GNU-EMPTY: 19// GNU-NEXT: Displaying notes found in: .note.func{{$}} 20// GNU-NEXT: Owner Data size Description 21// GNU-NEXT: XYZ 0x00000000 func 22 23// LLVM: Notes [ 24// LLVM-NEXT: NoteSection { 25// LLVM-NEXT: Name: .note.version 26// LLVM-NEXT: Offset: 0x40 27// LLVM-NEXT: Size: 0x10 28// LLVM-NEXT: Note { 29// LLVM-NEXT: Owner: XYZ 30// LLVM-NEXT: Data size: 0x0 31// LLVM-NEXT: Type: NT_VERSION (version) 32// LLVM-NEXT: } 33// LLVM-NEXT: } 34// LLVM-NEXT: NoteSection { 35// LLVM-NEXT: Name: .note.arch 36// LLVM-NEXT: Offset: 0x50 37// LLVM-NEXT: Size: 0x10 38// LLVM-NEXT: Note { 39// LLVM-NEXT: Owner: XYZ 40// LLVM-NEXT: Data size: 0x0 41// LLVM-NEXT: Type: NT_ARCH (architecture) 42// LLVM-NEXT: } 43// LLVM-NEXT: } 44// LLVM-NEXT: NoteSection { 45// LLVM-NEXT: Name: .note.open 46// LLVM-NEXT: Offset: 0x60 47// LLVM-NEXT: Size: 0x10 48// LLVM-NEXT: Note { 49// LLVM-NEXT: Owner: XYZ 50// LLVM-NEXT: Data size: 0x0 51// LLVM-NEXT: Type: OPEN 52// LLVM-NEXT: } 53// LLVM-NEXT: } 54// LLVM-NEXT: NoteSection { 55// LLVM-NEXT: Name: .note.func 56// LLVM-NEXT: Offset: 0x70 57// LLVM-NEXT: Size: 0x10 58// LLVM-NEXT: Note { 59// LLVM-NEXT: Owner: XYZ 60// LLVM-NEXT: Data size: 0x0 61// LLVM-NEXT: Type: func 62// LLVM-NEXT: } 63// LLVM-NEXT: } 64// LLVM-NEXT: ] 65 66.section ".note.version", "a" 67 .align 4 68 .long 4 /* namesz */ 69 .long 0 /* descsz */ 70 .long 1 /* type = NT_VERSION */ 71 .asciz "XYZ" 72.section ".note.arch", "a" 73 .align 4 74 .long 4 /* namesz */ 75 .long 0 /* descsz */ 76 .long 2 /* type = NT_ARCH*/ 77 .asciz "XYZ" 78.section ".note.open", "a" 79 .align 4 80 .long 4 /* namesz */ 81 .long 0 /* descsz */ 82 .long 0x100 /* type = NT_GNU_BUILD_ATTRIBUTE_OPEN*/ 83 .asciz "XYZ" 84.section ".note.func", "a" 85 .align 4 86 .long 4 /* namesz */ 87 .long 0 /* descsz */ 88 .long 0x101 /* type = NT_GNU_BUILD_ATTRIBUTE_FUNC*/ 89 .asciz "XYZ" 90