From: James Henderson Date: Thu, 16 May 2019 14:49:10 +0000 (+0000) Subject: [llvm-objdump]Split section-filter.test in two to remove X86 dependency X-Git-Tag: android-x86-9.0-r1~3338 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=3b131d7e532fe64564f85e3b4e60991227d4b06f;p=android-x86%2Fexternal-llvm.git [llvm-objdump]Split section-filter.test in two to remove X86 dependency This allows the generic parts of section-filter.test to be tested on all targets. The X86-specific parts have been moved to another test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@360904 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/tools/llvm-objdump/X86/section-filter-disasm.test b/test/tools/llvm-objdump/X86/section-filter-disasm.test new file mode 100644 index 00000000000..219bb55ec76 --- /dev/null +++ b/test/tools/llvm-objdump/X86/section-filter-disasm.test @@ -0,0 +1,84 @@ +## Test that --section works correctly for -d with -r. +## FIXME: Inline relocations are only printed if the relocation section itself is +## specified with --section. This test just characterizes the existing behavior. +## See https://bugs.llvm.org/show_bug.cgi?id=41886 +# RUN: yaml2obj %s -o %t.o + +## Show non-executable sections are not disassembled even if specified, +## and that only the specified executable sections are disassembled. +## Also show that no relocation sections are dumped because none are +## specified. +## FIXME: This is different behaviour to GNU objdump, which dumps the non- +## executable sections if requested explicitly. +## See https://bugs.llvm.org/show_bug.cgi?id=41897. +# RUN: llvm-objdump -d -r %t.o --section=.text --section=.rodata \ +# RUN: | FileCheck %s --check-prefix=DISASM --implicit-check-not=.text2 \ +# RUN: --implicit-check-not=.rodata --implicit-check-not=R_X86_64 + +## Show that only the specified relocation sections that patch the +## disassembled sections are dumped. +# RUN: llvm-objdump -d -r %t.o --section=.text \ +# RUN: --section=.rela.text --section=.rela.text2 \ +# RUN: | FileCheck %s --check-prefixes=DISASM,RELOC --implicit-check-not=.text2 \ +# RUN: --implicit-check-not=R_X86_64 + +# DISASM: Disassembly of section .text: +# DISASM-EMPTY: +# DISASM-NEXT: 0000000000000400 .text: +# DISASM-NEXT: 400: e8 00 00 00 00 callq 0 <.text+0x5> +# RELOC-NEXT: 00000401: R_X86_64_PC32 foo+1 + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 +Sections: + - Name: .text + Type: SHT_PROGBITS + Flags: [SHF_ALLOC, SHF_EXECINSTR] + Address: 0x400 + AddressAlign: 0x10 + Content: 'e800000000' + - Name: .text2 + Type: SHT_PROGBITS + Flags: [SHF_ALLOC, SHF_EXECINSTR] + Address: 0x401 + Content: '90e800000000' + - Name: .rela.text + Type: SHT_RELA + Info: .text + Relocations: + - Offset: 1 + Symbol: foo + Addend: 1 + Type: R_X86_64_PC32 + - Name: .another.rela.text + Type: SHT_RELA + Info: .text + Relocations: + - Offset: 1 + Symbol: foo + Type: R_X86_64_GOT32 + - Name: .rela.text2 + Type: SHT_RELA + Info: .text2 + Relocations: + - Offset: 1 + Symbol: foo + Addend: 2 + Type: R_X86_64_PLT32 + - Name: .rodata + Type: SHT_PROGBITS + Flags: [SHF_ALLOC] + Size: 4 + - Name: .rela.rodata + Type: SHT_RELA + Info: .rodata + Relocations: + - Offset: 0 + Symbol: foo + Type: R_X86_64_NONE +Symbols: + - Name: foo diff --git a/test/tools/llvm-objdump/section-filter.test b/test/tools/llvm-objdump/section-filter.test index 7b46cba1c86..9094c2263e7 100644 --- a/test/tools/llvm-objdump/section-filter.test +++ b/test/tools/llvm-objdump/section-filter.test @@ -1,4 +1,3 @@ -# REQUIRES: x86-registered-target ## Test that --section works correctly for -h. ## We test the LMA here too, because the code at the time of writing uses the ## value of --section when looking up section LMAs. @@ -58,91 +57,6 @@ ProgramHeaders: Sections: - Section: .bss -## Test that --section works correctly for -d with -r. -## FIXME: Inline relocations are only printed if the relocation section itself is -## specified with --section. This test just characterizes the existing behavior. -## See https://bugs.llvm.org/show_bug.cgi?id=41886 -# RUN: yaml2obj %s --docnum=2 -o %t.o - -## Show non-executable sections are not disassembled even if specified, -## and that only the specified executable sections are disassembled. -## Also show that no relocation sections are dumped because none are -## specified. -## FIXME: This is different behaviour to GNU objdump, which dumps the non- -## executable sections if requested explicitly. -## See https://bugs.llvm.org/show_bug.cgi?id=41897. -# RUN: llvm-objdump -d -r %t.o --section=.text --section=.rodata \ -# RUN: | FileCheck %s --check-prefix=DISASM --implicit-check-not=.text2 \ -# RUN: --implicit-check-not=.rodata --implicit-check-not=R_X86_64 - -## Show that only the specified relocation sections that patch the -## disassembled sections are dumped. -# RUN: llvm-objdump -d -r %t.o --section=.text \ -# RUN: --section=.rela.text --section=.rela.text2 \ -# RUN: | FileCheck %s --check-prefixes=DISASM,RELOC --implicit-check-not=.text2 \ -# RUN: --implicit-check-not=R_X86_64 - -# DISASM: Disassembly of section .text: -# DISASM-EMPTY: -# DISASM-NEXT: 0000000000000400 .text: -# DISASM-NEXT: 400: e8 00 00 00 00 callq 0 <.text+0x5> -# RELOC-NEXT: 00000401: R_X86_64_PC32 foo+1 - ---- !ELF -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - Type: ET_REL - Machine: EM_X86_64 -Sections: - - Name: .text - Type: SHT_PROGBITS - Flags: [SHF_ALLOC, SHF_EXECINSTR] - Address: 0x400 - AddressAlign: 0x10 - Content: 'e800000000' - - Name: .text2 - Type: SHT_PROGBITS - Flags: [SHF_ALLOC, SHF_EXECINSTR] - Address: 0x401 - Content: '90e800000000' - - Name: .rela.text - Type: SHT_RELA - Info: .text - Relocations: - - Offset: 1 - Symbol: foo - Addend: 1 - Type: R_X86_64_PC32 - - Name: .another.rela.text - Type: SHT_RELA - Info: .text - Relocations: - - Offset: 1 - Symbol: foo - Type: R_X86_64_GOT32 - - Name: .rela.text2 - Type: SHT_RELA - Info: .text2 - Relocations: - - Offset: 1 - Symbol: foo - Addend: 2 - Type: R_X86_64_PLT32 - - Name: .rodata - Type: SHT_PROGBITS - Flags: [SHF_ALLOC] - Size: 4 - - Name: .rela.rodata - Type: SHT_RELA - Info: .rodata - Relocations: - - Offset: 0 - Symbol: foo - Type: R_X86_64_NONE -Symbols: - - Name: foo - ## Test that --section works when dumping relocation sections. # RUN: llvm-objdump -r %t.o --section=.another.rela.text --section=.rela.rodata \ # RUN: | FileCheck %s --check-prefix=DUMP-RELOCS --implicit-check-not=R_X86_64 \ @@ -163,7 +77,7 @@ Symbols: # CONTENTS: Contents of section .rela.text2: ## Test that --section works with --fault-map-section. -# RUN: yaml2obj %s --docnum=3 -o %t2.o +# RUN: yaml2obj %s --docnum=2 -o %t2.o # RUN: llvm-objdump %t2.o --fault-map-section -j __clangast \ # RUN: | FileCheck %s --check-prefixes=FAULTMAP,NO-FAULTMAP # RUN: llvm-objdump %t2.o --fault-map-section -j .llvm_faultmaps \