From 31b21da15522985eb2f25f21a2038c5a626d8ed0 Mon Sep 17 00:00:00 2001 From: Paul Semel Date: Wed, 11 Jul 2018 18:09:52 +0000 Subject: [PATCH] Revert "[llvm-objdump] Add -demangle (-C) option" This reverts commit 3a44ccd156e0edd2e89226f8ed63928e227900bb. This reverts commit d5cfc836bb5552e20507d3612d13ff66ff9e36a0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336829 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/tools/llvm-objdump/disassemble-demangle.test | 47 ----------------------- tools/llvm-objdump/llvm-objdump.cpp | 38 +----------------- tools/llvm-objdump/llvm-objdump.h | 2 - 3 files changed, 1 insertion(+), 86 deletions(-) delete mode 100644 test/tools/llvm-objdump/disassemble-demangle.test diff --git a/test/tools/llvm-objdump/disassemble-demangle.test b/test/tools/llvm-objdump/disassemble-demangle.test deleted file mode 100644 index 0f3ce2bb869..00000000000 --- a/test/tools/llvm-objdump/disassemble-demangle.test +++ /dev/null @@ -1,47 +0,0 @@ -# RUN: yaml2obj %s > %t -# RUN: llvm-objdump -triple=x86_64-unknown-linux-gnu -d -C %t | FileCheck --check-prefix=DEMANGLE %s -# RUN: llvm-objdump -triple=x86_64-unknown-linux-gnu -d --demangle=itanium %t | FileCheck --check-prefix=DEMANGLE %s -# RUN: llvm-objdump -triple=x86_64-unknown-linux-gnu -d %t | FileCheck --check-prefix=NO-DEMANGLE %s -# RUN: llvm-objdump -triple=x86_64-unknown-linux-gnu -d --demangle=none %t | FileCheck --check-prefix=NO-DEMANGLE %s -# RUN: llvm-objdump -triple=x86_64-unknown-linux-gnu -d -C=wrong-style %t 2>&1 | FileCheck --check-prefix=BAD-STYLE %s - -!ELF -FileHeader: - Class: ELFCLASS64 - Data: ELFDATA2LSB - Type: ET_EXEC - Machine: EM_X86_64 -Sections: - - Name: .text1 - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - Address: 0x1000 - AddressAlign: 0x0000000000000010 - Content: "0000000000000000" - - Name: .text2 - Type: SHT_PROGBITS - Flags: [ SHF_ALLOC, SHF_EXECINSTR ] - Address: 0x1010 - AddressAlign: 0x0000000000000010 - Content: "0000000000000000" -Symbols: - Local: - - Name: _Z3fooi - Type: STT_FUNC - Section: .text1 - Value: 0x1000 - - Name: _Z3foov - Type: STT_FUNC - Section: .text2 - Value: 0x1010 - -# We just want to check that the symbols are demangled -# DEMANGLE: foo(int) -# DEMANGLE: foo() - -# NO-DEMANGLE: _Z3fooi -# NO-DEMANGLE: _Z3foov - -# BAD-STYLE: warning: Unsupported demangling style. -# BAD-STYLE: _Z3fooi -# BAD-STYLE: _Z3foov diff --git a/tools/llvm-objdump/llvm-objdump.cpp b/tools/llvm-objdump/llvm-objdump.cpp index 61d62631c3e..d1a765b1af5 100644 --- a/tools/llvm-objdump/llvm-objdump.cpp +++ b/tools/llvm-objdump/llvm-objdump.cpp @@ -25,7 +25,6 @@ #include "llvm/CodeGen/FaultMaps.h" #include "llvm/DebugInfo/DWARF/DWARFContext.h" #include "llvm/DebugInfo/Symbolize/Symbolize.h" -#include "llvm/Demangle/Demangle.h" #include "llvm/MC/MCAsmInfo.h" #include "llvm/MC/MCContext.h" #include "llvm/MC/MCDisassembler/MCDisassembler.h" @@ -91,13 +90,6 @@ static cl::alias DisassembleAlld("D", cl::desc("Alias for --disassemble-all"), cl::aliasopt(DisassembleAll)); -cl::opt llvm::Demangle("demangle", - cl::desc("Demangle symbols names"), - cl::ValueOptional, cl::init("none")); - -static cl::alias DemangleShort("C", cl::desc("Alias for --demangle"), - cl::aliasopt(Demangle)); - static cl::list DisassembleFunctions("df", cl::CommaSeparated, @@ -338,11 +330,6 @@ LLVM_ATTRIBUTE_NORETURN void llvm::error(Twine Message) { exit(1); } -void llvm::warn(StringRef Message) { - errs() << ToolName << ": warning: " << Message << ".\n"; - errs().flush(); -} - LLVM_ATTRIBUTE_NORETURN void llvm::report_error(StringRef File, Twine Message) { errs() << ToolName << ": '" << File << "': " << Message << ".\n"; @@ -1524,25 +1511,7 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) { } } - auto PrintSymbol = [](StringRef Name) { - outs() << '\n' << Name << ":\n"; - }; - StringRef SymbolName = std::get<1>(Symbols[si]); - if (Demangle.getValue() == "" || Demangle.getValue() == "itanium") { - char *DemangledSymbol = nullptr; - size_t Size = 0; - int Status; - DemangledSymbol = - itaniumDemangle(SymbolName.data(), DemangledSymbol, &Size, &Status); - if (Status == 0) - PrintSymbol(StringRef(DemangledSymbol)); - else - PrintSymbol(SymbolName); - - if (Size != 0) - free(DemangledSymbol); - } else - PrintSymbol(SymbolName); + outs() << '\n' << std::get<1>(Symbols[si]) << ":\n"; // Don't print raw contents of a virtual section. A virtual section // doesn't have any contents in the file. @@ -2391,11 +2360,6 @@ int main(int argc, char **argv) { if (DisassembleAll || PrintSource || PrintLines) Disassemble = true; - - if (Demangle.getValue() != "none" && Demangle.getValue() != "" && - Demangle.getValue() != "itanium") - warn("Unsupported demangling style"); - if (!Disassemble && !Relocations && !DynamicRelocations diff --git a/tools/llvm-objdump/llvm-objdump.h b/tools/llvm-objdump/llvm-objdump.h index c5a1ac8df9e..27734af2866 100644 --- a/tools/llvm-objdump/llvm-objdump.h +++ b/tools/llvm-objdump/llvm-objdump.h @@ -30,7 +30,6 @@ namespace object { extern cl::opt TripleName; extern cl::opt ArchName; extern cl::opt MCPU; -extern cl::opt Demangle; extern cl::list MAttrs; extern cl::list FilterSections; extern cl::opt AllHeaders; @@ -97,7 +96,6 @@ void PrintSectionHeaders(const object::ObjectFile *o); void PrintSectionContents(const object::ObjectFile *o); void PrintSymbolTable(const object::ObjectFile *o, StringRef ArchiveName, StringRef ArchitectureName = StringRef()); -void warn(StringRef Message); LLVM_ATTRIBUTE_NORETURN void error(Twine Message); LLVM_ATTRIBUTE_NORETURN void report_error(StringRef File, Twine Message); LLVM_ATTRIBUTE_NORETURN void report_error(StringRef File, std::error_code EC); -- 2.11.0