[PATCH] D24138: [llvm-readobj] - Teach readobj to print DT_AUXILIARY dynamic tag in human readable form.

George Rimar via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 2 00:43:41 PDT 2016


This revision was automatically updated to reflect the committed changes.
Closed by commit rL280471: [llvm-readobj] - Teach readobj to print DT_AUXILIARY dynamic tag in human… (authored by grimar).

Changed prior to commit:
  https://reviews.llvm.org/D24138?vs=70016&id=70136#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D24138

Files:
  llvm/trunk/test/tools/llvm-readobj/Inputs/dynamic-table-so.x86
  llvm/trunk/test/tools/llvm-readobj/Inputs/dynamic-table.c
  llvm/trunk/test/tools/llvm-readobj/dynamic.test
  llvm/trunk/tools/llvm-readobj/ELFDumper.cpp

Index: llvm/trunk/test/tools/llvm-readobj/dynamic.test
===================================================================
--- llvm/trunk/test/tools/llvm-readobj/dynamic.test
+++ llvm/trunk/test/tools/llvm-readobj/dynamic.test
@@ -112,6 +112,42 @@
 ELF-X86-EXE:   0x00000000 NULL                 0x0
 ELF-X86-EXE: ]
 
+RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table-so.x86 \
+RUN:     | FileCheck %s -check-prefix ELF-X86-SO
+
+ELF-X86-SO: Format: ELF64-x86-64
+ELF-X86-SO: Arch: x86_64
+ELF-X86-SO: AddressSize: 64bit
+ELF-X86-SO: LoadName: 
+ELF-X86-SO: DynamicSection [ (26 entries)
+ELF-X86-SO:   Tag                Type                 Name/Value
+ELF-X86-SO:   0x0000000000000001 NEEDED               SharedLibrary (libc.so.6)
+ELF-X86-SO:   0x0000000000000001 NEEDED               SharedLibrary (ld-linux-x86-64.so.2)
+ELF-X86-SO:   0x000000007FFFFFFD AUXILIARY            Auxiliary library: [aux_val]
+ELF-X86-SO:   0x000000000000000C INIT                 0x610
+ELF-X86-SO:   0x000000000000000D FINI                 0x7AC
+ELF-X86-SO:   0x0000000000000019 INIT_ARRAY           0x200DD0
+ELF-X86-SO:   0x000000000000001B INIT_ARRAYSZ         8 (bytes)
+ELF-X86-SO:   0x000000000000001A FINI_ARRAY           0x200DD8
+ELF-X86-SO:   0x000000000000001C FINI_ARRAYSZ         8 (bytes)
+ELF-X86-SO:   0x000000006FFFFEF5 GNU_HASH             0x1C8
+ELF-X86-SO:   0x0000000000000005 STRTAB               0x3A0
+ELF-X86-SO:   0x0000000000000006 SYMTAB               0x208
+ELF-X86-SO:   0x000000000000000A STRSZ                231 (bytes)
+ELF-X86-SO:   0x000000000000000B SYMENT               24 (bytes)
+ELF-X86-SO:   0x0000000000000003 PLTGOT               0x201000
+ELF-X86-SO:   0x0000000000000002 PLTRELSZ             48 (bytes)
+ELF-X86-SO:   0x0000000000000014 PLTREL               RELA
+ELF-X86-SO:   0x0000000000000017 JMPREL               0x5E0
+ELF-X86-SO:   0x0000000000000007 RELA                 0x4F0
+ELF-X86-SO:   0x0000000000000008 RELASZ               240 (bytes)
+ELF-X86-SO:   0x0000000000000009 RELAENT              24 (bytes)
+ELF-X86-SO:   0x000000006FFFFFFE VERNEED              0x4B0
+ELF-X86-SO:   0x000000006FFFFFFF VERNEEDNUM           2
+ELF-X86-SO:   0x000000006FFFFFF0 VERSYM               0x488
+ELF-X86-SO:   0x000000006FFFFFF9 RELACOUNT            3
+ELF-X86-SO:   0x0000000000000000 NULL                 0x0
+
 RUN: llvm-readobj -dynamic-table %p/Inputs/dynamic-table-so.aarch64 \
 RUN:     | FileCheck %s -check-prefix ELF-AARCH64-SO
 
Index: llvm/trunk/test/tools/llvm-readobj/Inputs/dynamic-table.c
===================================================================
--- llvm/trunk/test/tools/llvm-readobj/Inputs/dynamic-table.c
+++ llvm/trunk/test/tools/llvm-readobj/Inputs/dynamic-table.c
@@ -1,3 +1,5 @@
+// clang -target x86_64-linux-gnu -shared -fPIC -lc dynamic-table.c \
+//       -o dynamic-table-so.x86 -Wl,-f,aux_val
 // clang -target mipsel-linux-gnu -shared -fPIC -lc dynamic-table.c \
 //       -o dynamic-table-so.mips
 // clang -target mipsel-linux-gnu -lc dynamic-table.c \
Index: llvm/trunk/tools/llvm-readobj/ELFDumper.cpp
===================================================================
--- llvm/trunk/tools/llvm-readobj/ELFDumper.cpp
+++ llvm/trunk/tools/llvm-readobj/ELFDumper.cpp
@@ -1561,6 +1561,7 @@
   LLVM_READOBJ_TYPE_CASE(MIPS_RLD_MAP);
   LLVM_READOBJ_TYPE_CASE(MIPS_PLTGOT);
   LLVM_READOBJ_TYPE_CASE(MIPS_OPTIONS);
+  LLVM_READOBJ_TYPE_CASE(AUXILIARY);
   default: return "unknown";
   }
 }
@@ -1721,6 +1722,9 @@
   case DT_SONAME:
     OS << "LibrarySoname (" << getDynamicString(Value) << ")";
     break;
+  case DT_AUXILIARY:
+    OS << "Auxiliary library: [" << getDynamicString(Value) << "]";
+    break;
   case DT_RPATH:
   case DT_RUNPATH:
     OS << getDynamicString(Value);


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24138.70136.patch
Type: text/x-patch
Size: 3769 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160902/8e8d39f7/attachment.bin>


More information about the llvm-commits mailing list