)]}'
{
  "commit": "2be0f2da2100cc2b5047f5d055cd039ac494d563",
  "tree": "3c92e00175c844ac4dffc1d34c382bb83ef5eb1c",
  "parents": [
    "767c92a13e92d3c34b8ed6f3b6f1bf17eca57cbd"
  ],
  "author": {
    "name": "H.J. Lu",
    "email": "hjl.tools@gmail.com",
    "time": "Thu Nov 06 08:20:26 2025 +0800"
  },
  "committer": {
    "name": "H.J. Lu",
    "email": "hjl.tools@gmail.com",
    "time": "Sat Nov 08 06:39:42 2025 +0800"
  },
  "message": "readelf: Display the base symbol version as empty string\n\nUpdate readelf to display the base symbol version as\n\nSymbol table for image contains 5 entries:\n   Num:    Value          Size Type    Bind   Vis      Ndx Name\n     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND\n     1: 0000000000003008     0 OBJECT  GLOBAL DEFAULT   10 bar@@\n     2: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS VERS_1\n     3: 0000000000003008     0 OBJECT  GLOBAL DEFAULT   10 bar@@VERS_1\n     4: 0000000000003000     0 OBJECT  GLOBAL DEFAULT   10 foo@\n\ninstead of\n\nSymbol table for image contains 5 entries:\n   Num:    Value          Size Type    Bind   Vis      Ndx Name\n     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND\n     1: 0000000000003008     0 OBJECT  GLOBAL DEFAULT   10 bar\n     2: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS VERS_1\n     3: 0000000000003008     0 OBJECT  GLOBAL DEFAULT   10 bar@@VERS_1\n     4: 0000000000003000     0 OBJECT  GLOBAL DEFAULT   10 foo\n\nThat is bar@@ and foo@ vs bar and foo.\n\nbinutils/\n\n\tPR binutils/33599\n\t* readelf.c (process_version_sections): Replace 0x8001 with\n\t(VERSYM_HIDDEN | VERSYM_BASE).\n\t(get_symbol_version_string): Likewise.  Return \"\" for the base\n\tversion.\n\ninclude/\n\n\tPR binutils/33599\n\t* elf/common.h (VERSYM_BASE): New.\n\nld/\n\n\tPR binutils/33599\n\t* testsuite/ld-elf/pr33599.d: New file.\n\t* testsuite/ld-elf/pr33599.map: Likewise.\n\t* testsuite/ld-elf/pr33599.s: Likewise.\n\nSigned-off-by: H.J. Lu \u003chjl.tools@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2d1d20413c440d997b92860cf1c4aeba9e679ebf",
      "old_mode": 33188,
      "old_path": "binutils/readelf.c",
      "new_id": "933dd34d4a869eb7dadee3f858999d11f0063ec0",
      "new_mode": 33188,
      "new_path": "binutils/readelf.c"
    },
    {
      "type": "modify",
      "old_id": "5d0f93ebf5694ecaeb6285ed2f58471c041f5e73",
      "old_mode": 33188,
      "old_path": "include/elf/common.h",
      "new_id": "8a2ab7b055e86cfab792255536e7dab3d605dee4",
      "new_mode": 33188,
      "new_path": "include/elf/common.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9a06427aca21e263d7d5c061bab0358ac5e984e0",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-elf/pr33599.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0f7b32aba6bc2f3f908303fecd45a8b53fee0749",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-elf/pr33599.map"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f08e0c91c4db41f1d1ce9a7385b90c1906482681",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-elf/pr33599.s"
    }
  ]
}
