blob: b241a6b7f2f60e38cc16949f1864da9eecf8c6b8 [file] [log] [blame]
Kevin Enderby31b07f12016-07-29 22:32:02 +00001// These test checks that llvm-objdump will not crash with malformed Archive
2// files. So the check line is not all that important but the bug fixes to
3// make sure llvm-objdump is robust is what matters.
4# RUN: not llvm-objdump -macho -archive-headers \
5# RUN: %p/Inputs/libbogus1.a \
6# RUN: 2>&1 | FileCheck -check-prefix=bogus1 %s
7
8# bogus1: libbogus1.a': truncated or malformed archive (characters in size field in archive header are not all decimal numbers: '10%' for archive member header at offset 8)
9
10# RUN: not llvm-objdump -macho -archive-headers \
11# RUN: %p/Inputs/libbogus2.a \
12# RUN: 2>&1 | FileCheck -check-prefix=bogus2 %s
13
14# bogus2: libbogus2.a': truncated or malformed archive (characters in size field in archive header are not all decimal numbers: '1%' for archive member header at offset 170)
15
16# RUN: not llvm-objdump -macho -archive-headers \
17# RUN: %p/Inputs/libbogus3.a \
18# RUN: 2>&1 | FileCheck -check-prefix=bogus3 %s
19
20# bogus3: libbogus3.a': truncated or malformed archive (offset to next archive member past the end of the archive after member foo.c)
21
22# RUN: not llvm-objdump -macho -archive-headers \
23# RUN: %p/Inputs/libbogus4.a \
24# RUN: 2>&1 | FileCheck -check-prefix=bogus4 %s
25
26# bogus4: libbogus4.a': truncated or malformed archive (remaining size of archive too small for next archive member header for foo.c)
27
28# RUN: not llvm-objdump -macho -archive-headers \
29# RUN: %p/Inputs/libbogus5.a \
30# RUN: 2>&1 | FileCheck -check-prefix=bogus5 %s
31
32# bogus5: libbogus5.a': truncated or malformed archive (terminator characters in archive member "@\n" not the correct "`\n" values for the archive member header for hello.c)
33
34# RUN: not llvm-objdump -macho -archive-headers \
35# RUN: %p/Inputs/libbogus6.a \
36# RUN: 2>&1 | FileCheck -check-prefix=bogus6 %s
37
38# bogus6: libbogus6.a': truncated or malformed archive (name contains a leading space for archive member header at offset 96)
39
40# RUN: not llvm-objdump -macho -archive-headers \
41# RUN: %p/Inputs/libbogus7.a \
42# RUN: 2>&1 | FileCheck -check-prefix=bogus7 %s
43
44# bogus7: libbogus7.a': truncated or malformed archive (long name length characters after the #1/ are not all decimal numbers: '@123$' for archive member header at offset 8)
45
46# RUN: not llvm-objdump -macho -archive-headers \
47# RUN: %p/Inputs/libbogus8.a \
48# RUN: 2>&1 | FileCheck -check-prefix=bogus8 %s
49
Justin Bogner31d8b7d2016-10-26 22:37:52 +000050# bogus8: libbogus8.a(???): truncated or malformed archive (long name length: 1234 extends past the end of the member or archive for archive member header at offset 86)
Kevin Enderby31b07f12016-07-29 22:32:02 +000051
52# RUN: not llvm-objdump -s %p/Inputs/libbogus9.a \
53# RUN: 2>&1 | FileCheck -check-prefix=bogus9 %s
54
Justin Bogner31d8b7d2016-10-26 22:37:52 +000055# bogus9: libbogus9.a(???): truncated or malformed archive (long name offset characters after the '/' are not all decimal numbers: '&a25*' for archive member header at offset 94)
Kevin Enderby31b07f12016-07-29 22:32:02 +000056
57# RUN: not llvm-objdump -s %p/Inputs/libbogus10.a \
58# RUN: 2>&1 | FileCheck -check-prefix=bogus10 %s
59
Justin Bogner31d8b7d2016-10-26 22:37:52 +000060# bogus10: libbogus10.a(???): truncated or malformed archive (long name offset 507 past the end of the string table for archive member header at offset 94)
Vedant Kumar4031d9f2016-08-03 19:02:50 +000061
62# RUN: not llvm-objdump -macho -archive-headers \
63# RUN: %p/Inputs/libbogus11.a \
64# RUN: 2>&1 | FileCheck -check-prefix=bogus11 %s
65
Justin Bogner31d8b7d2016-10-26 22:37:52 +000066# bogus11: libbogus11.a(hello.c): truncated or malformed archive (characters in UID field in archive header are not all decimal numbers: '~97&' for the archive member header at offset 8)
Vedant Kumar4031d9f2016-08-03 19:02:50 +000067
68# RUN: not llvm-objdump -macho -archive-headers \
69# RUN: %p/Inputs/libbogus12.a \
70# RUN: 2>&1 | FileCheck -check-prefix=bogus12 %s
71
Justin Bogner31d8b7d2016-10-26 22:37:52 +000072# bogus12: libbogus12.a(hello.c): truncated or malformed archive (characters in GID field in archive header are not all decimal numbers: '#55!' for the archive member header at offset 8)
Vedant Kumar4031d9f2016-08-03 19:02:50 +000073
74# RUN: not llvm-objdump -macho -archive-headers \
75# RUN: %p/Inputs/libbogus13.a \
76# RUN: 2>&1 | FileCheck -check-prefix=bogus13 %s
77
Justin Bogner31d8b7d2016-10-26 22:37:52 +000078# bogus13: libbogus13.a(hello.c): truncated or malformed archive (characters in AccessMode field in archive header are not all decimal numbers: 'Feed' for the archive member header at offset 8)
Vedant Kumar4031d9f2016-08-03 19:02:50 +000079
80# RUN: llvm-objdump -macho -archive-headers %p/Inputs/libbogus14.a \
81# RUN: 2>&1 | FileCheck -check-prefix=bogus14 %s
82
83# bogus14: -rw-r--r--124/0 102 (date: "1foobar273" contains non-decimal chars) hello.c
84
85# RUN: not llvm-ar tv %p/Inputs/libbogus14.a \
86# RUN: 2>&1 | FileCheck -check-prefix=bogus14a %s
87
88# bogus14a: truncated or malformed archive (characters in LastModified field in archive header are not all decimal numbers: '1foobar273' for the archive member header at offset 8)