## Test that --section works correctly for -d with -r. # RUN: yaml2obj %s -o %t.o ## Show that only the specified sections are disassembled. ## Also show that no relocation sections are dumped because none are ## specified. # RUN: llvm-objdump -d -r %t.o --section=.text --section=.rodata \ # RUN: | FileCheck %s --check-prefixes=DISASM,RELOC --implicit-check-not=.text2 # DISASM: Disassembly of section .text: # DISASM-EMPTY: # DISASM-NEXT: 0000000000000400 <.text>: # DISASM-NEXT: 400: e8 00 00 00 00 callq 0x405 <.text+0x5> # RELOC-NEXT: 00000401: R_X86_64_PC32 foo+0x1 # RELOC-NEXT: 00000401: R_X86_64_GOT32 foo # DISASM: Disassembly of section .rodata: # DISASM-EMPTY: # DISASM-NEXT: 0000000000000000 <.rodata>: # DISASM-NEXT: 0: 00 00 addb %al, (%rax) # RELOC-NEXT: 0000000000000000: R_X86_64_NONE foo # DISASM-NEXT: 2: 00 00 addb %al, (%rax) --- !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 \ # RUN: --implicit-check-not="RELOCATION RECORDS" # DUMP-RELOCS: RELOCATION RECORDS FOR [.text]: # DUMP-RELOCS: 00000001 R_X86_64_GOT32 foo # DUMP-RELOCS: RELOCATION RECORDS FOR [.rodata]: # DUMP-RELOCS: 00000000 R_X86_64_NONE foo ## Test that --section works with --full-contents. # RUN: llvm-objdump -s %t.o --section=.text --section=.rela.text2 \ # RUN: | FileCheck %s --check-prefix=CONTENTS \ # RUN: --implicit-check-not=.text \ # RUN: --implicit-check-not=.rodata # CONTENTS: Contents of section .text: # CONTENTS: Contents of section .rela.text2: