[InstCombine] Signed saturation patterns
[llvm-core.git] / test / tools / llvm-readobj / note-core-ntfile-bad.test
blob24ee3453786c5521191cb0e6235115f114d3bdce
1 ## Test that malformed NT_FILE sections in core files are gracefully ignored.
3 ## llvm-mc doesn't support generating ET_CORE files; the 'Content' field in
4 ## each of the following test cases were generated with the following steps:
5 # $ llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu tmp.s -o tmp.o
6 # $ bin/llvm-objcopy --dump-section=.note.foo=tmp.txt tmp.o /dev/null
7 # $ xxd -p tmp.txt | tr -d '\n'; echo
8 # using the assembly shown with each test case.
10 # RUN: yaml2obj --docnum=1 %s -o %t1.o
11 # RUN: llvm-readelf -n %t1.o 2>&1 | FileCheck -DFILE=%t1.o %s --check-prefix=ERR-HEADER-SHORT
12 # ERR-HEADER-SHORT: warning: '[[FILE]]': malformed note: header too short
14 # .section ".note.foo", "a"
15 #       .align 4
16 #       .long 5 /* namesz */
17 #       .long end - begin /* descsz */
18 #       .long 0x46494c45 /* type = NT_FILE */
19 #       .asciz "CORE"
20 #       .align 4
21 # begin:
22 #       .quad 0 /* no file mappings */
23 # end:
25 --- !ELF
26 FileHeader:
27   Class:   ELFCLASS64
28   Data:    ELFDATA2LSB
29   Type:    ET_CORE
30   Machine: EM_X86_64
31 Sections:
32   - Name:    .note.foo
33     Type:    SHT_NOTE
34     Content: 0500000008000000454C4946434F5245000000000000000000000000
35 ProgramHeaders:
36   - Type:        PT_NOTE
37     Sections:
38       - Section: .note.foo
40 # RUN: yaml2obj --docnum=2 %s -o %t2.o
41 # RUN: llvm-readelf -n %t2.o 2>&1 | FileCheck -DFILE=%t2.o %s --check-prefix=ERR-NULL-TERM
42 # ERR-NULL-TERM: warning: '[[FILE]]': malformed note: not NUL terminated
44 # .section ".note.foo", "a"
45 #       .align 4
46 #       .long 5 /* namesz */
47 #       .long end - begin /* descsz */
48 #       .long 0x46494c45 /* type = NT_FILE */
49 #       .asciz "CORE"
50 #       .align 4
51 # begin:
52 #       .quad 1 /* 1 file mapping */
53 #       .quad 4096 /* page size */
54 #       .quad 0x1000 /* start #1 */
55 #       .quad 0x2000 /* end #1 */
56 #       .quad 0x3000 /* offset #1 */
57 #       .ascii "xxxx"
58 # end:
60 --- !ELF
61 FileHeader:
62   Class:   ELFCLASS64
63   Data:    ELFDATA2LSB
64   Type:    ET_CORE
65   Machine: EM_X86_64
66 Sections:
67   - Name:    .note.foo
68     Type:    SHT_NOTE
69     Content: 050000002C000000454C4946434F5245000000000100000000000000001000000000000000100000000000000020000000000000003000000000000078787878
70 ProgramHeaders:
71   - Type:        PT_NOTE
72     Sections:
73       - Section: .note.foo
75 # RUN: yaml2obj --docnum=3 %s -o %t3.o
76 # RUN: llvm-readelf -n %t3.o 2>&1 | FileCheck -DFILE=%t3.o %s --check-prefix=ERR-FILE-COUNT
77 # ERR-FILE-COUNT: warning: '[[FILE]]': malformed note: too short for number of files
79 # .section ".note.foo", "a"
80 #       .align 4
81 #       .long 5 /* namesz */
82 #       .long end - begin /* descsz */
83 #       .long 0x46494c45 /* type = NT_FILE */
84 #       .asciz "CORE"
85 #       .align 4
86 # begin:
87 #       .quad 2 /* 2 file mappings */
88 #       .quad 4096 /* page size */
89 #       .quad 0x1000 /* start #1 */
90 #       .quad 0x2000 /* end #1 */
91 #       .quad 0x3000 /* offset #1 */
92 #       .asciz "xyz"
93 # end:
95 --- !ELF
96 FileHeader:
97   Class:   ELFCLASS64
98   Data:    ELFDATA2LSB
99   Type:    ET_CORE
100   Machine: EM_X86_64
101 Sections:
102   - Name:    .note.foo
103     Type:    SHT_NOTE
104     Content: 050000002C000000454C4946434F5245000000000200000000000000001000000000000000100000000000000020000000000000003000000000000078797A00
105 ProgramHeaders:
106   - Type:        PT_NOTE
107     Sections:
108       - Section: .note.foo
110 # RUN: yaml2obj --docnum=4 %s -o %t4.o
111 # RUN: llvm-readelf -n %t4.o 2>&1 | FileCheck -DFILE=%t4.o %s --check-prefix=ERR-FILE-END-EARLY
112 # ERR-FILE-END-EARLY: warning: '[[FILE]]': malformed note: too few filenames
114 # .section ".note.foo", "a"
115 #       .align 4
116 #       .long 5 /* namesz */
117 #       .long end - begin /* descsz */
118 #       .long 0x46494c45 /* type = NT_FILE */
119 #       .asciz "CORE"
120 #       .align 4
121 # begin:
122 #       .quad 2 /* 2 file mappings */
123 #       .quad 4096 /* page size */
124 #       .quad 0x1000 /* start #1 */
125 #       .quad 0x2000 /* end #1 */
126 #       .quad 0x3000 /* offset #1 */
127 #       .quad 0x4000 /* start #2 */
128 #       .quad 0x5000 /* end #2 */
129 #       .quad 0x6000 /* offset #2 */
130 #       .asciz "xyz"
131 # end:
133 --- !ELF
134 FileHeader:
135   Class:   ELFCLASS64
136   Data:    ELFDATA2LSB
137   Type:    ET_CORE
138   Machine: EM_X86_64
139 Sections:
140   - Name:    .note.foo
141     Type:    SHT_NOTE
142     Content: 0500000044000000454C4946434F5245000000000200000000000000001000000000000000100000000000000020000000000000003000000000000000400000000000000050000000000000006000000000000078797A00
143 ProgramHeaders:
144   - Type:        PT_NOTE
145     Sections:
146       - Section: .note.foo