diff options
| author | Yuanfang Chen <yuanfang.chen@sony.com> | 2019-07-02 18:38:17 +0000 |
|---|---|---|
| committer | Yuanfang Chen <yuanfang.chen@sony.com> | 2019-07-02 18:38:17 +0000 |
| commit | d16c162c9453db855503134fe29ae4a3c0bec936 (patch) | |
| tree | 7001de08035406756f971c28b712aeca36571b07 /llvm/test/tools/llvm-objdump | |
| parent | eee944e7f9e60df44714eb547d0b876ee5dc7290 (diff) | |
| download | bcm5719-llvm-d16c162c9453db855503134fe29ae4a3c0bec936.tar.gz bcm5719-llvm-d16c162c9453db855503134fe29ae4a3c0bec936.zip | |
[llvm-objdump] Warn if no user specified sections (-j) are not found.
Match GNU objdump.
https://bugs.llvm.org/show_bug.cgi?id=41898
Reviewers: jhenderson, grimar, MaskRay, rupprecht
Reviewed by: jhenderson, grimar, MaskRay
Differential Revision: https://reviews.llvm.org/D63779
llvm-svn: 364955
Diffstat (limited to 'llvm/test/tools/llvm-objdump')
| -rw-r--r-- | llvm/test/tools/llvm-objdump/warn-missing-section.test | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objdump/warn-missing-section.test b/llvm/test/tools/llvm-objdump/warn-missing-section.test new file mode 100644 index 00000000000..178315c305b --- /dev/null +++ b/llvm/test/tools/llvm-objdump/warn-missing-section.test @@ -0,0 +1,73 @@ +## This test checks the warning message when no user specified sections are +## found in the object file. + +## Test relocatable file. +# RUN: yaml2obj --docnum=1 %s -o %t.1.o +# RUN: yaml2obj --docnum=2 %s -o %t.2.o + +## - Warn for one section is found case. +# RUN: llvm-objdump --reloc --section=single %t.2.o 2>&1 \ +# RUN: | FileCheck --check-prefix=SINGLE-WARN %s + +## - Don't warn twice for duplicate missing sections. +# RUN: llvm-objdump --reloc --section=single --section=single %t.2.o 2>&1 \ +# RUN: | FileCheck --check-prefixes=SINGLE-WARN --implicit-check-not=warning: %s + +## - Don't warn if any user specified section is found. +# RUN: llvm-objdump --reloc --section=.text1 --section=.text2 %t.2.o \ +# RUN: | FileCheck --implicit-check-not=warning: %s + +## - Warn for each specified section if none of them are found. +# RUN: llvm-objdump --reloc --section=multi1 --section=multi2 %t.2.o 2>&1 \ +# RUN: | FileCheck --check-prefix=MULTI-WARN %s + +## - Don't warn if the specified section has no name. +# RUN: llvm-objdump --reloc --section="" %t.2.o 2>&1 \ +# RUN: | FileCheck --implicit-check-not=warning: %s + +## - Warning for --section is applicable for various other options. +# RUN: llvm-objdump --section-headers --section=single %t.2.o 2>&1 \ +# RUN: | FileCheck --check-prefix=SINGLE-WARN %s +# RUN: llvm-objdump --full-contents --section=single %t.2.o 2>&1 \ +# RUN: | FileCheck --check-prefix=SINGLE-WARN %s + +## Test archive file. +# RUN: rm -f %t.a +# RUN: llvm-ar rc %t.a %t.1.o %t.2.o + +## - Warn for one section is found case. +# RUN: llvm-objdump --reloc --section=single %t.a 2>&1 \ +# RUN: | FileCheck --check-prefix=SINGLE-WARN %s + +## - Don't warn if any user specified section is found. +# RUN: llvm-objdump --reloc --section=.text1 %t.a \ +# RUN: | FileCheck --implicit-check-not=warning: %s + +## - Warn for each specified section if none of them are found. +# RUN: llvm-objdump --reloc --section=multi1 --section=multi2 %t.a 2>&1 \ +# RUN: | FileCheck --check-prefix=MULTI-WARN %s + + +# SINGLE-WARN: warning: section 'single' mentioned in a -j/--section option, but not found in any input file +# MULTI-WARN: warning: section 'multi1' mentioned in a -j/--section option, but not found in any input file +# MULTI-WARN-NEXT: warning: section 'multi2' mentioned in a -j/--section option, but not found in any input file + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: +- Name: .text1 + Type: SHT_PROGBITS + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: +- Name: .text2 + Type: SHT_PROGBITS |

