diff options
| author | James Henderson <jh7370@my.bristol.ac.uk> | 2019-05-16 14:49:10 +0000 |
|---|---|---|
| committer | James Henderson <jh7370@my.bristol.ac.uk> | 2019-05-16 14:49:10 +0000 |
| commit | aaf834b2ea408da8bd6e27352a382fa7eb5455a4 (patch) | |
| tree | cdf77c2242169907384af36d25feee4e3879f6c5 /llvm/test/tools/llvm-objdump | |
| parent | df24c92c0f037eda9a8e89581952e10f10c836ba (diff) | |
| download | bcm5719-llvm-aaf834b2ea408da8bd6e27352a382fa7eb5455a4.tar.gz bcm5719-llvm-aaf834b2ea408da8bd6e27352a382fa7eb5455a4.zip | |
[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.
llvm-svn: 360904
Diffstat (limited to 'llvm/test/tools/llvm-objdump')
| -rw-r--r-- | llvm/test/tools/llvm-objdump/X86/section-filter-disasm.test | 84 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-objdump/section-filter.test | 88 |
2 files changed, 85 insertions, 87 deletions
diff --git a/llvm/test/tools/llvm-objdump/X86/section-filter-disasm.test b/llvm/test/tools/llvm-objdump/X86/section-filter-disasm.test new file mode 100644 index 00000000000..219bb55ec76 --- /dev/null +++ b/llvm/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/llvm/test/tools/llvm-objdump/section-filter.test b/llvm/test/tools/llvm-objdump/section-filter.test index 7b46cba1c86..9094c2263e7 100644 --- a/llvm/test/tools/llvm-objdump/section-filter.test +++ b/llvm/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 \ |

