diff options
Diffstat (limited to 'llvm/test')
4 files changed, 62 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objdump/Inputs/malformed-archives/libbogus1.a b/llvm/test/tools/llvm-objdump/Inputs/malformed-archives/libbogus1.a new file mode 100644 index 00000000000..510c1455527 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/Inputs/malformed-archives/libbogus1.a @@ -0,0 +1,13 @@ +!<arch> +hello.c 1444941273 124 0 100644 10% ` +#include <stdio.h> +#include <stdlib.h> +int +main() +{ + printf("Hello World\n"); + return EXIT_SUCCESS; +} +foo.c 1444941645 124 0 100644 1% ` +void foo(void){} + diff --git a/llvm/test/tools/llvm-objdump/Inputs/malformed-archives/libbogus2.a b/llvm/test/tools/llvm-objdump/Inputs/malformed-archives/libbogus2.a new file mode 100644 index 00000000000..2ccb7f31c09 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/Inputs/malformed-archives/libbogus2.a @@ -0,0 +1,13 @@ +!<arch> +hello.c 1444941273 124 0 100644 102 ` +#include <stdio.h> +#include <stdlib.h> +int +main() +{ + printf("Hello World\n"); + return EXIT_SUCCESS; +} +foo.c 1444941645 124 0 100644 1% ` +void foo(void){} + diff --git a/llvm/test/tools/llvm-objdump/Inputs/malformed-archives/libbogus3.a b/llvm/test/tools/llvm-objdump/Inputs/malformed-archives/libbogus3.a new file mode 100644 index 00000000000..f15a7329f9f --- /dev/null +++ b/llvm/test/tools/llvm-objdump/Inputs/malformed-archives/libbogus3.a @@ -0,0 +1,16 @@ +!<arch> +hello.c 1444941273 124 0 100644 102 ` +#include <stdio.h> +#include <stdlib.h> +int +main() +{ + printf("Hello World\n"); + return EXIT_SUCCESS; +} +foo.c 1444941645 124 0 100644 171 ` +void foo(void){} + +bar.c 1445026190 124 0 100644 17 ` +void foo(void){} + diff --git a/llvm/test/tools/llvm-objdump/malformed-archives.test b/llvm/test/tools/llvm-objdump/malformed-archives.test new file mode 100644 index 00000000000..5066cb543b4 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/malformed-archives.test @@ -0,0 +1,20 @@ +// These test checks that llvm-objdump will not crash with malformed Archive +// files. So the check line is not all that important but the bug fixes to +// make sure llvm-objdump is robust is what matters. +# RUN: llvm-objdump -macho -archive-headers \ +# RUN: %p/Inputs/malformed-archives/libbogus1.a \ +# RUN: 2>&1 | FileCheck -check-prefix=bogus1 %s + +# bogus1: Invalid data was encountered while parsing the file + +# RUN: llvm-objdump -macho -archive-headers \ +# RUN: %p/Inputs/malformed-archives/libbogus2.a \ +# RUN: 2>&1 | FileCheck -check-prefix=bogus2 %s + +# bogus2: hello.c + +# RUN: llvm-objdump -macho -archive-headers \ +# RUN: %p/Inputs/malformed-archives/libbogus3.a \ +# RUN: 2>&1 | FileCheck -check-prefix=bogus3 %s + +# bogus3: foo.c |