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