]> granicus.if.org Git - llvm/commitdiff
Fix some llvm-readelf tests after r361633
authorHans Wennborg <hans@hanshq.net>
Tue, 28 May 2019 11:24:20 +0000 (11:24 +0000)
committerHans Wennborg <hans@hanshq.net>
Tue, 28 May 2019 11:24:20 +0000 (11:24 +0000)
They were failing on 32-bit Windows. In the cases where I've changed
test expectations, I've checked that they match the output of GNU
readelf.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@361807 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-readobj/mips-got.test
test/tools/llvm-readobj/mips-plt.test
tools/llvm-readobj/ELFDumper.cpp

index b3424dbc6f1f46aebf3e12d09266132d38f3796f..ee5ba2bfdc2edf540a1b989a39ec1f7224030de2 100644 (file)
@@ -405,7 +405,7 @@ GNU-GOT-EXE:      PLT GOT:
 GNU-GOT-EXE:       Reserved entries:
 GNU-GOT-EXE-NEXT:    Address  Initial Purpose
 GNU-GOT-EXE-NEXT:   00410854 00000000 PLT lazy resolver
-GNU-GOT-EXE-NEXT:   00410894 80000000 Module pointer
+GNU-GOT-EXE-NEXT:   00410858 00000000 Module pointer
 
 GNU-GOT-EXE:       Entries:
 GNU-GOT-EXE-NEXT:    Address  Initial Sym.Val. Type    Ndx Name
index 64c1f785d03ce0f67fd7ca9c7acb46b292bf2b95..b130a67d0443fccd2036d55869fb09d69d96f2d7 100644 (file)
@@ -56,7 +56,7 @@ GNU-NEXT: PLT GOT:
 GNU:       Reserved entries:
 GNU-NEXT:    Address  Initial Purpose
 GNU-NEXT:   00410814 00000000 PLT lazy resolver
-GNU-NEXT:   00410854 80000000 Module pointer
+GNU-NEXT:   00410818 00000000 Module pointer
 
 GNU:       Entries:
 GNU-NEXT:    Address  Initial Sym.Val. Type    Ndx Name
index 48dd47d10824a988dd6600bb781cfa395424bd7e..8bc339eb379565d6d09959dd847a958391379849 100644 (file)
@@ -3346,9 +3346,8 @@ template <class ELFT> void GNUStyle<ELFT>::printDynamic(const ELFO *Obj) {
     OS << "  Tag        Type                 Name/Value\n";
   for (auto Entry : Table) {
     uintX_t Tag = Entry.getTag();
-    std::string TypeString = getTypeString(Obj->getHeader()->e_machine, Tag);
-    OS << format("  0x%0*x %-20s ", Is64 ? 16 : 8, Tag,
-                 ("(" + TypeString + ")").c_str());
+    std::string TypeString = std::string("(") + getTypeString(Obj->getHeader()->e_machine, Tag) + ")";
+    OS << "  " << format_hex(Tag, Is64 ? 18 : 10) << format(" %-20s ", TypeString.c_str());
     this->dumper()->printDynamicEntry(OS, Tag, Entry.getVal());
     OS << "\n";
   }
@@ -4134,7 +4133,7 @@ void GNUStyle<ELFT>::printMipsPLT(const MipsGOTParser<ELFT> &Parser) {
   size_t Bias = ELFT::Is64Bits ? 8 : 0;
   auto PrintEntry = [&](const Elf_Addr *E, StringRef Purpose) {
     OS.PadToColumn(2);
-    OS << format_hex_no_prefix(Parser.getGotAddress(E), 8 + Bias);
+    OS << format_hex_no_prefix(Parser.getPltAddress(E), 8 + Bias);
     OS.PadToColumn(11 + Bias);
     OS << format_hex_no_prefix(*E, 8 + Bias);
     OS.PadToColumn(20 + 2 * Bias);
@@ -4147,7 +4146,7 @@ void GNUStyle<ELFT>::printMipsPLT(const MipsGOTParser<ELFT> &Parser) {
   OS << "   Address  Initial Purpose\n";
   PrintEntry(Parser.getPltLazyResolver(), "PLT lazy resolver");
   if (Parser.getPltModulePointer())
-    PrintEntry(Parser.getGotModulePointer(), "Module pointer");
+    PrintEntry(Parser.getPltModulePointer(), "Module pointer");
 
   if (!Parser.getPltEntries().empty()) {
     OS << "\n";
@@ -4159,7 +4158,7 @@ void GNUStyle<ELFT>::printMipsPLT(const MipsGOTParser<ELFT> &Parser) {
           Sym, this->dumper()->getDynamicStringTable(), false);
 
       OS.PadToColumn(2);
-      OS << to_string(format_hex_no_prefix(Parser.getGotAddress(&E), 8 + Bias));
+      OS << to_string(format_hex_no_prefix(Parser.getPltAddress(&E), 8 + Bias));
       OS.PadToColumn(11 + Bias);
       OS << to_string(format_hex_no_prefix(E, 8 + Bias));
       OS.PadToColumn(20 + 2 * Bias);
@@ -4919,6 +4918,7 @@ void LLVMStyle<ELFT>::printELFLinkerOptions(const ELFFile<ELFT> *Obj) {
 template <class ELFT>
 void LLVMStyle<ELFT>::printMipsGOT(const MipsGOTParser<ELFT> &Parser) {
   auto PrintEntry = [&](const Elf_Addr *E) {
+               // XXX: here?
     W.printHex("Address", Parser.getGotAddress(E));
     W.printNumber("Access", Parser.getGotOffset(E));
     W.printHex("Initial", *E);
@@ -4983,6 +4983,7 @@ void LLVMStyle<ELFT>::printMipsGOT(const MipsGOTParser<ELFT> &Parser) {
 template <class ELFT>
 void LLVMStyle<ELFT>::printMipsPLT(const MipsGOTParser<ELFT> &Parser) {
   auto PrintEntry = [&](const Elf_Addr *E) {
+               // XXX: here? no.
     W.printHex("Address", Parser.getPltAddress(E));
     W.printHex("Initial", *E);
   };