[llvm] [llvm-readobj][ELF] Implement JSON output for --dynamic-table (PR #95976)

James Henderson via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 24 00:59:58 PDT 2024


================
@@ -138,6 +140,361 @@
 # GNU64-NEXT:  0x0000000076543210 (<unknown:>0x76543210) 0x5555666677778888
 # GNU64-NEXT:  0x0000000000000000 (NULL)                 0x0
 
+#      JSON64:"DynamicSection": [
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 1,
+# JSON64-NEXT:      "Type": "NEEDED",
+# JSON64-NEXT:      "Value": 1,
+# JSON64-NEXT:      "Library": "D"
+# JSON64-NEXT:  },
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 2,
+# JSON64-NEXT:      "Type": "PLTRELSZ",
+# JSON64-NEXT:      "Value": 16
+# JSON64-NEXT:  },
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 3,
+# JSON64-NEXT:      "Type": "PLTGOT",
+# JSON64-NEXT:      "Value": 4096
+# JSON64-NEXT:  },
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 4,
+# JSON64-NEXT:      "Type": "HASH",
+# JSON64-NEXT:      "Value": 4096
+# JSON64-NEXT:  },
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 5,
+# JSON64-NEXT:      "Type": "STRTAB",
+# JSON64-NEXT:      "Value": 4096
+# JSON64-NEXT:  },
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 6,
+# JSON64-NEXT:      "Type": "SYMTAB",
+# JSON64-NEXT:      "Value": 4096
+# JSON64-NEXT:  },
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 7,
+# JSON64-NEXT:      "Type": "RELA",
+# JSON64-NEXT:      "Value": 4096
+# JSON64-NEXT:  },
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 8,
+# JSON64-NEXT:      "Type": "RELASZ",
+# JSON64-NEXT:      "Value": 16
+# JSON64-NEXT:  },
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 9,
+# JSON64-NEXT:      "Type": "RELAENT",
+# JSON64-NEXT:      "Value": 1929
+# JSON64-NEXT:  },
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 10,
+# JSON64-NEXT:      "Type": "STRSZ",
+# JSON64-NEXT:      "Value": 16
+# JSON64-NEXT:  },
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 11,
+# JSON64-NEXT:      "Type": "SYMENT",
+# JSON64-NEXT:      "Value": 2439
+# JSON64-NEXT:  },
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 12,
+# JSON64-NEXT:      "Type": "INIT",
+# JSON64-NEXT:      "Value": 4096
+# JSON64-NEXT:  },
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 13,
+# JSON64-NEXT:      "Type": "FINI",
+# JSON64-NEXT:      "Value": 4096
+# JSON64-NEXT:  },
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 14,
+# JSON64-NEXT:      "Type": "SONAME",
+# JSON64-NEXT:      "Value": 3,
+# JSON64-NEXT:      "Name": "U"
+# JSON64-NEXT:  },
+# JSON64-NEXT:  {
+# JSON64-NEXT:      "Tag": 15,
+# JSON64-NEXT:      "Type": "RPATH",
+# JSON64-NEXT:      "Value": 5,
+# JSON64-NEXT:      "Path": [
+# JSON64-NEXT:          "f"
----------------
jh7370 wrote:

Here and for RUNPATH, you should probably have multiple elements in the path string. That will impact the output of the other test cases in this file, so I'm okay if you want to defer it to the follow-up patch I mention in the out-of-line comment, if you prefer.

https://github.com/llvm/llvm-project/pull/95976


More information about the llvm-commits mailing list