From: Kristina Brooks Date: Wed, 31 Oct 2018 09:34:08 +0000 (+0000) Subject: [llvm-objdump] Add --reloc alias for -r (PR39407) X-Git-Tag: llvmorg-8.0.0-rc1~5381 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=31579e9d1932a6052f31abc30cab2ea8c1872e80;p=platform%2Fupstream%2Fllvm.git [llvm-objdump] Add --reloc alias for -r (PR39407) This addresses PR39407 (https://bugs.llvm.org/show_bug.cgi?id=39407) improving compatibility with GNU binutils counterparts. Reviewed By: kristina Patch by Higuoxing (Xing). Differential Revision: https://reviews.llvm.org/D53804 llvm-svn: 345703 --- diff --git a/llvm/test/tools/llvm-objdump/relocations-elf.test b/llvm/test/tools/llvm-objdump/relocations-elf.test new file mode 100644 index 0000000..a29b3e6 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/relocations-elf.test @@ -0,0 +1,73 @@ +# RUN: yaml2obj %s > %t +# RUN: llvm-objdump --reloc %t | FileCheck %s +# RUN: llvm-objdump -r %t | FileCheck %s + +# CHECK: RELOCATION RECORDS FOR [.rel.text]: +# CHECK: 0000000000000001 R_X86_64_32 glob1 +# CHECK: 0000000000000001 R_X86_64_32S glob2 +# CHECK: 0000000000000002 R_X86_64_64 loc1 + +# CHECK: RELOCATION RECORDS FOR [.rela.text]: +# CHECK: 0000000000000001 R_X86_64_32 glob1+1 +# CHECK: 0000000000000001 R_X86_64_32S glob2+2 +# CHECK: 0000000000000002 R_X86_64_64 loc1+3 + +!ELF +FileHeader: !FileHeader + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_REL + Machine: EM_X86_64 + +Sections: +- Name: .text + Type: SHT_PROGBITS + Content: "0000000000000000" + AddressAlign: 16 + Flags: [SHF_ALLOC] + +- Name: .rel.text + Type: SHT_REL + Info: .text + AddressAlign: 4 + Relocations: + - Offset: 0x1 + Symbol: glob1 + Type: R_X86_64_32 + - Offset: 0x1 + Symbol: glob2 + Type: R_X86_64_32S + - Offset: 0x2 + Symbol: loc1 + Type: R_X86_64_64 + +- Name: .rela.text + Type: SHT_RELA + Link: .symtab + Info: .text + AddressAlign: 4 + Relocations: + - Offset: 0x1 + Addend: 1 + Symbol: glob1 + Type: R_X86_64_32 + - Offset: 0x1 + Addend: 2 + Symbol: glob2 + Type: R_X86_64_32S + - Offset: 0x2 + Addend: 3 + Symbol: loc1 + Type: R_X86_64_64 + +Symbols: + Local: + - Name: loc1 + - Name: loc2 + Global: + - Name: glob1 + Section: .text + Value: 0x0 + Size: 4 + - Name: glob2 + diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp index 4ad29d2..18fcfef 100644 --- a/llvm/tools/llvm-objdump/llvm-objdump.cpp +++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp @@ -106,7 +106,11 @@ DisassembleFunctions("df", static StringSet<> DisasmFuncsSet; cl::opt -llvm::Relocations("r", cl::desc("Display the relocation entries in the file")); +llvm::Relocations("reloc", + cl::desc("Display the relocation entries in the file")); +static cl::alias RelocationsShort("r", cl::desc("Alias for --reloc"), + cl::NotHidden, + cl::aliasopt(llvm::Relocations)); cl::opt llvm::DynamicRelocations("dynamic-reloc",