1 // REQUIRES
: x86-registered-target
2 // RUN
: llvm-mc
-filetype
=obj
-triple x86_64-pc-linux-gnu
%s
-o
%t
3 // RUN
: llvm-readelf
--notes
%t | FileCheck
%s
--check-prefix
=GNU
4 // RUN
: llvm-readobj
--elf-output-style LLVM
--notes
%t | FileCheck
%s
--check-prefix
=LLVM
6 // GNU
: Displaying notes found in
: .note.gnu.property
7 // GNU-NEXT
: Owner Data size Description
8 // GNU-NEXT
: GNU
0x00000004 NT_GNU_PROPERTY_TYPE_0
(property note
)
9 // GNU-NEXT
: Properties
: <corrupted GNU_PROPERTY_TYPE_0
>
11 // LLVM
: NoteSections
[
12 // LLVM-NEXT
: NoteSection
{
13 // LLVM-NEXT
: Name
: .note.gnu.property
14 // LLVM-NEXT
: Offset
: 0x40
15 // LLVM-NEXT
: Size
: 0x18
18 // LLVM-NEXT
: Owner
: GNU
19 // LLVM-NEXT
: Data size
: 0x4
20 // LLVM-NEXT
: Type
: NT_GNU_PROPERTY_TYPE_0
(property note
)
21 // LLVM-NEXT
: Property
[
22 // LLVM-NEXT
: <corrupted GNU_PROPERTY_TYPE_0
>
29 // Section below is broken
, check we report that.
31 .section ".note.gnu.property", "a"
33 .long 4 /* Name length is always 4 ("GNU") */
34 .long 4 /* Data length (corrupted) */
35 .long 5 /* Type: NT_GNU_PROPERTY_TYPE_0 */
36 .asciz "GNU" /* Name */
39 .long 1 /* Type: GNU_PROPERTY_STACK_SIZE */