)]}'
{
  "commit": "7434de7ef9aef6307de8cb8244ca27a67dc99245",
  "tree": "ccefe47252d1f1abc23b4c04f73d81e1bb97e8c8",
  "parents": [
    "b3453e999ace1099d0ae7a51551fa8b4942e5f72"
  ],
  "author": {
    "name": "Vladimir Mezentsev",
    "email": "vladimir.mezentsev@oracle.com",
    "time": "Wed Sep 20 13:22:12 2023 -0700"
  },
  "committer": {
    "name": "Vladimir Mezentsev",
    "email": "vladimir.mezentsev@oracle.com",
    "time": "Thu Sep 21 18:56:30 2023 -0700"
  },
  "message": "gprofng: 30834 improve disassembly output for call and branch instructions\n\nThis patch makes the gprofng disassembler to emit, e.g.\n    call   fprintf@plt [ 0x401060, .-0x49c]\ninstead of\n    call   0xfffffffffffffb64\n\nI use bfd_get_synthetic_symtab() to get function names in the .plt section.\nI have not yet modified Elf-reader in gprofng to remove parsing of .symtab or\n.dynsym sections. But we plan to do it.\n\ngprofng/ChangeLog\n2023-09-20  Vladimir Mezentsev  \u003cvladimir.mezentsev@oracle.com\u003e\n\n\tPR gprofng/30834\n\t* src/Disasm.cc: Show the function name in the call instruction\n\tand the relative address in the branch instruction. Remove unused code.\n\t* src/Disasm.h (map_PC_to_func, get_funcname_in_plt): New functions.\n\t* src/Elf.cc: Get function names for the .plt section.\n\t* src/Elf.h (get_funcname_in_plt, get_bfd_symbols): New functions.\n\t* src/Stabs.cc: Add pltSym to SymLst. Remove the conversion to uint32_t.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ef1ef7c9d9f18f128574bf0f050e6481e4219772",
      "old_mode": 33188,
      "old_path": "gprofng/src/Disasm.cc",
      "new_id": "9c7e59a590bf7c686dffca1b4a6cf3225416596e",
      "new_mode": 33188,
      "new_path": "gprofng/src/Disasm.cc"
    },
    {
      "type": "modify",
      "old_id": "e82b1966b5dcb58095d106e09a5e36038ae8fb18",
      "old_mode": 33188,
      "old_path": "gprofng/src/Disasm.h",
      "new_id": "4094c13a20e033a3de402f4d0d213b0655ebd381",
      "new_mode": 33188,
      "new_path": "gprofng/src/Disasm.h"
    },
    {
      "type": "modify",
      "old_id": "469efe75988adeddfe758def4a8cab71d67ce84d",
      "old_mode": 33188,
      "old_path": "gprofng/src/Elf.cc",
      "new_id": "9730b996a95e080ff7b526e7153323df88220c30",
      "new_mode": 33188,
      "new_path": "gprofng/src/Elf.cc"
    },
    {
      "type": "modify",
      "old_id": "85059bc613cc8a84023d86116218f9a2d89efc62",
      "old_mode": 33188,
      "old_path": "gprofng/src/Elf.h",
      "new_id": "e5a4f68db693a7769c0435d0261e900e5f096b88",
      "new_mode": 33188,
      "new_path": "gprofng/src/Elf.h"
    },
    {
      "type": "modify",
      "old_id": "ac2ff48f7e80e3775ac27d1d7d36b0e3f666380e",
      "old_mode": 33188,
      "old_path": "gprofng/src/Stabs.cc",
      "new_id": "82d85efabeb49256cb5211ddbcdc6954666e935a",
      "new_mode": 33188,
      "new_path": "gprofng/src/Stabs.cc"
    }
  ]
}
