From: Simon Atanasyan Date: Fri, 24 May 2019 10:26:48 +0000 (+0000) Subject: [llvm-readobj][mips] Align GOT columns headers properly in 64-bit case X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e5c8051337a58e611ccb566d6e68c583fd13d540;p=llvm [llvm-readobj][mips] Align GOT columns headers properly in 64-bit case git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@361626 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/tools/llvm-readobj/mips-got.test b/test/tools/llvm-readobj/mips-got.test index 021dcfb116d..b3424dbc6f1 100644 --- a/test/tools/llvm-readobj/mips-got.test +++ b/test/tools/llvm-readobj/mips-got.test @@ -14,15 +14,15 @@ RUN: FileCheck %s -check-prefix GOT-STATIC RUN: not llvm-readelf --mips-plt-got %p/Inputs/relocs.obj.elf-mips 2>&1 | \ RUN: FileCheck %s -check-prefix GNU-GOT-OBJ RUN: llvm-readelf --mips-plt-got %p/Inputs/dynamic-table-exe.mips | \ -RUN: FileCheck %s -check-prefix GNU-GOT-EXE +RUN: FileCheck %s --strict-whitespace -check-prefix GNU-GOT-EXE RUN: llvm-readelf --mips-plt-got %p/Inputs/dynamic-table-so.mips | \ -RUN: FileCheck %s -check-prefix GNU-GOT-SO +RUN: FileCheck %s --strict-whitespace -check-prefix GNU-GOT-SO RUN: llvm-readelf --mips-plt-got %p/Inputs/got-tls.so.elf-mips64el | \ -RUN: FileCheck %s -check-prefix GNU-GOT-TLS +RUN: FileCheck %s --strict-whitespace -check-prefix GNU-GOT-TLS RUN: llvm-readelf --mips-plt-got %p/Inputs/got-empty.exe.mipsel | \ -RUN: FileCheck %s -check-prefix GNU-GOT-EMPTY +RUN: FileCheck %s --strict-whitespace -check-prefix GNU-GOT-EMPTY RUN: llvm-readelf --mips-plt-got %p/Inputs/got-static.exe.mips | \ -RUN: FileCheck %s -check-prefix GNU-GOT-STATIC +RUN: FileCheck %s --strict-whitespace -check-prefix GNU-GOT-STATIC GOT-OBJ: error: Cannot find .got section diff --git a/tools/llvm-readobj/ELFDumper.cpp b/tools/llvm-readobj/ELFDumper.cpp index 65abdbd6109..159e300de30 100644 --- a/tools/llvm-readobj/ELFDumper.cpp +++ b/tools/llvm-readobj/ELFDumper.cpp @@ -4061,7 +4061,10 @@ void GNUStyle::printMipsGOT(const MipsGOTParser &Parser) { << format_hex_no_prefix(Parser.getGp(), 8 + Bias) << "\n\n"; OS << " Reserved entries:\n"; - OS << " Address Access Initial Purpose\n"; + if (ELFT::Is64Bits) + OS << " Address Access Initial Purpose\n"; + else + OS << " Address Access Initial Purpose\n"; PrintEntry(Parser.getGotLazyResolver(), "Lazy resolver"); if (Parser.getGotModulePointer()) PrintEntry(Parser.getGotModulePointer(), "Module pointer (GNU extension)"); @@ -4069,7 +4072,10 @@ void GNUStyle::printMipsGOT(const MipsGOTParser &Parser) { if (!Parser.getLocalEntries().empty()) { OS << "\n"; OS << " Local entries:\n"; - OS << " Address Access Initial\n"; + if (ELFT::Is64Bits) + OS << " Address Access Initial\n"; + else + OS << " Address Access Initial\n"; for (auto &E : Parser.getLocalEntries()) PrintEntry(&E, ""); } @@ -4080,7 +4086,11 @@ void GNUStyle::printMipsGOT(const MipsGOTParser &Parser) { if (!Parser.getGlobalEntries().empty()) { OS << "\n"; OS << " Global entries:\n"; - OS << " Address Access Initial Sym.Val. Type Ndx Name\n"; + if (ELFT::Is64Bits) + OS << " Address Access Initial Sym.Val." + << " Type Ndx Name\n"; + else + OS << " Address Access Initial Sym.Val. Type Ndx Name\n"; for (auto &E : Parser.getGlobalEntries()) { const Elf_Sym *Sym = Parser.getGotSym(&E); std::string SymName = this->dumper()->getFullSymbolName(