From 4d11daa659a1833a85863ea920174da4d052a8ba Mon Sep 17 00:00:00 2001 From: Georgii Rymar Date: Wed, 28 Oct 2020 18:11:28 +0300 Subject: [PATCH] [llvm-objdump][test] - Stop using precompiled binary in MachO/disassemble-g-dsym.test This removes Inputs/libbogus11.a Initially I've removed it in D90013, but had to restore it, because BB found this test is using it. I've updated the test to use YAMLs, added comment and one more possible error check. Differential revision: https://reviews.llvm.org/D90312 --- llvm/test/tools/llvm-objdump/Inputs/libbogus11.a | 10 ----- .../llvm-objdump/MachO/disassemble-g-dsym.test | 43 ++++++++++++++++------ 2 files changed, 31 insertions(+), 22 deletions(-) delete mode 100644 llvm/test/tools/llvm-objdump/Inputs/libbogus11.a diff --git a/llvm/test/tools/llvm-objdump/Inputs/libbogus11.a b/llvm/test/tools/llvm-objdump/Inputs/libbogus11.a deleted file mode 100644 index 99a709d..0000000 --- a/llvm/test/tools/llvm-objdump/Inputs/libbogus11.a +++ /dev/null @@ -1,10 +0,0 @@ -! -hello.c 1444941273 ~97& 0 100644 102 ` -#include -#include -int -main() -{ - printf("Hello World\n"); - return EXIT_SUCCESS; -} diff --git a/llvm/test/tools/llvm-objdump/MachO/disassemble-g-dsym.test b/llvm/test/tools/llvm-objdump/MachO/disassemble-g-dsym.test index 5481e1f..93a0843 100644 --- a/llvm/test/tools/llvm-objdump/MachO/disassemble-g-dsym.test +++ b/llvm/test/tools/llvm-objdump/MachO/disassemble-g-dsym.test @@ -1,17 +1,36 @@ -// RUN: dsymutil -f -oso-prepend-path=%p/../../dsymutil/ %p/../../dsymutil/Inputs/basic.macho.x86_64 -o %t1.dSYM -// RUN: llvm-objdump -d -g --dsym=%t1.dSYM %p/../../dsymutil/Inputs/basic.macho.x86_64 >%t0 -// RUN: llvm-objdump -dg --dsym=%t1.dSYM %p/../../dsymutil/Inputs/basic.macho.x86_64 >%t1 -// RUN: cmp %t0 %t1 -// RUN: FileCheck --input-file %t0 %s +# RUN: dsymutil -f -oso-prepend-path=%p/../../dsymutil/ %p/../../dsymutil/Inputs/basic.macho.x86_64 -o %t1.dSYM +# RUN: llvm-objdump -d -g --dsym=%t1.dSYM %p/../../dsymutil/Inputs/basic.macho.x86_64 >%t0 +# RUN: llvm-objdump -dg --dsym=%t1.dSYM %p/../../dsymutil/Inputs/basic.macho.x86_64 >%t1 +# RUN: cmp %t0 %t1 +# RUN: FileCheck --input-file %t0 %s -CHECK: Disassembly of section __TEXT,__text: +# CHECK: Disassembly of section __TEXT,__text: -// RUN: llvm-objdump --macho -d -g --dsym %p/Inputs/hello-macho-fat.dwarf %p/Inputs/hello-macho-fat | FileCheck --check-prefix MACHO_DSYM %s -// RUN: llvm-objdump --macho -d -g --dsym %p/Inputs/hello-macho-fat.dwarf %p/Inputs/hello-macho-thin | FileCheck --check-prefix MACHO_DSYM %s -// RUN: llvm-objdump --macho -d -g --dsym %p/Inputs/hello-macho-thin.dwarf %p/Inputs/hello-macho-thin | FileCheck --check-prefix MACHO_DSYM %s +# RUN: llvm-objdump --macho -d -g --dsym %p/Inputs/hello-macho-fat.dwarf %p/Inputs/hello-macho-fat | FileCheck --check-prefix MACHO_DSYM %s +# RUN: llvm-objdump --macho -d -g --dsym %p/Inputs/hello-macho-fat.dwarf %p/Inputs/hello-macho-thin | FileCheck --check-prefix MACHO_DSYM %s +# RUN: llvm-objdump --macho -d -g --dsym %p/Inputs/hello-macho-thin.dwarf %p/Inputs/hello-macho-thin | FileCheck --check-prefix MACHO_DSYM %s -MACHO_DSYM: (__TEXT,__text) section +# MACHO_DSYM: (__TEXT,__text) section -// RUN: llvm-objdump --macho -d -g --dsym %p/../Inputs/libbogus11.a %p/../../dsymutil/Inputs/basic.macho.x86_64 2>&1 | FileCheck --check-prefix BAD_INPUT %s +## Check that we report an error when .dSYM file is a valid object, which is +## neither a Mach-O object nor Universal binary. -BAD_INPUT: is not a Mach-O or Universal file type. +# RUN: yaml2obj --docnum=1 %s -o %t.a +# RUN: llvm-objdump --macho -d -g --dsym %t.a %p/../../dsymutil/Inputs/basic.macho.x86_64 2>&1 | \ +# RUN: FileCheck -DDSYMFILE=%t.a --check-prefix=BAD_INPUT_AR %s + +# RUN: yaml2obj --docnum=2 %s -o %t.elf +# RUN: llvm-objdump --macho -d -g --dsym %t.elf %p/../../dsymutil/Inputs/basic.macho.x86_64 2>&1 | \ +# RUN: FileCheck -DDSYMFILE=%t.elf --check-prefix=BAD_INPUT_OBJ %s + +# BAD_INPUT_AR: error: [[DSYMFILE]] is not a Mach-O or Universal file type. +# BAD_INPUT_OBJ: error: [[DSYMFILE]] is not a Mach-O file type. + +--- !Arch +Members: [] + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL -- 2.7.4