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.foo 8// GNU-NEXT: Owner Data size Description 9// GNU-NEXT: XYZ 0x00000000 Unknown note type: (0x00000003) 10// GNU-EMPTY: 11// GNU-NEXT: Displaying notes found in: .note.bar 12// GNU-NEXT: Owner Data size Description 13// GNU-NEXT: XYZ 0x0000001c Unknown note type: (0x00000003) 14// GNU-NEXT: description data: 4c 6f 72 65 6d 20 69 70 73 75 6d 20 64 6f 6c 6f 72 20 73 69 74 20 61 6d 65 74 00 00 15// GNU-EMPTY: 16 17// LLVM: NoteSections [ 18// LLVM-NEXT: NoteSection { 19// LLVM-NEXT: Name: .note.foo 20// LLVM-NEXT: Offset: 0x40 21// LLVM-NEXT: Size: 0x10 22// LLVM-NEXT: Notes [ 23// LLVM-NEXT: { 24// LLVM-NEXT: Owner: XYZ 25// LLVM-NEXT: Data size: 0x0 26// LLVM-NEXT: Type: Unknown (0x00000003) 27// LLVM-NEXT: } 28// LLVM-NEXT: ] 29// LLVM-NEXT: } 30// LLVM-NEXT: NoteSection { 31// LLVM-NEXT: Name: .note.bar 32// LLVM-NEXT: Offset: 0x50 33// LLVM-NEXT: Size: 0x2C 34// LLVM-NEXT: Notes [ 35// LLVM-NEXT: { 36// LLVM-NEXT: Owner: XYZ 37// LLVM-NEXT: Data size: 0x1C 38// LLVM-NEXT: Type: Unknown (0x00000003) 39// LLVM-NEXT: Description data ( 40// LLVM-NEXT: 0000: 4C6F7265 6D206970 73756D20 646F6C6F |Lorem ipsum dolo| 41// LLVM-NEXT: 0010: 72207369 7420616D 65740000 |r sit amet..| 42// LLVM-NEXT: ) 43// LLVM-NEXT: } 44// LLVM-NEXT: ] 45// LLVM-NEXT: } 46// LLVM-NEXT: NoteSection { 47// LLVM-NEXT: Name: .note.8 48// LLVM-NEXT: Offset: 0x80 49// LLVM-NEXT: Size: 0x40 50// LLVM-NEXT: Notes [ 51// LLVM-NEXT: { 52// LLVM-NEXT: Owner: WXYZ 53// LLVM-NEXT: Data size: 0x8 54// LLVM-NEXT: Type: Unknown (0x00000006) 55// LLVM-NEXT: Description data ( 56// LLVM-NEXT: 0000: 4C6F7265 6D000000 |Lorem...| 57// LLVM-NEXT: ) 58// LLVM-NEXT: } 59// LLVM-NEXT: { 60// LLVM-NEXT: Owner: VWXYZ 61// LLVM-NEXT: Data size: 0x8 62// LLVM-NEXT: Type: Unknown (0x00000006) 63// LLVM-NEXT: Description data ( 64// LLVM-NEXT: 0000: 78787800 00000000 |xxx.....| 65// LLVM-NEXT: ) 66// LLVM-NEXT: } 67// LLVM-NEXT: ] 68// LLVM-NEXT: } 69// LLVM-NEXT: ] 70 71.section ".note.foo", "a" 72 .long 4 /* namesz */ 73 .long 0 /* descsz */ 74 .long 3 /* type */ 75 .asciz "XYZ" 76 .align 4 77.section ".note.bar", "a" 78 .long 4 /* namesz */ 79 .long end - begin /* descsz */ 80 .long 3 /* type */ 81 .asciz "XYZ" 82 .align 4 83begin: 84 .asciz "Lorem ipsum dolor sit amet" 85 .align 4 86end: 87 88.section ".note.8", "a" 89 .long 5 /* namesz */ 90 .long 2f - 1f /* descsz */ 91 .long 6 /* type */ 92 .asciz "WXYZ" 93 .align 8 941: 95 .asciz "Lorem" 96 .align 8 972: 98 99 .long 6 /* namesz */ 100 .long 2f - 1f /* descsz */ 101 .long 6 /* type */ 102 .asciz "VWXYZ" 103 .align 8 1041: 105 .asciz "xxx" 106 .align 8 1072: 108