)]}'
{
  "commit": "0dd8295da24ae58c1e808b906b7c0aafea22a259",
  "tree": "fd64ad6c5a426a23828288c537100bbd561ca8eb",
  "parents": [
    "abe19f1119ef3d33acd9c8699ebeb110feed55d8"
  ],
  "author": {
    "name": "Tom de Vries",
    "email": "tdevries@suse.de",
    "time": "Mon Oct 04 18:16:40 2021 +0200"
  },
  "committer": {
    "name": "Tom de Vries",
    "email": "tdevries@suse.de",
    "time": "Mon Oct 04 18:16:40 2021 +0200"
  },
  "message": "[gdb/symtab] Add call_site_eq and call_site_hash\n\nIn commit b4c919f7525 \"[gdb/symtab] Fix htab_find_slot call in\nread_call_site_scope\" , I removed the comment:\n...\nIt must be the first field as we overload core_addr_hash and core_addr_eq for\nit.\n...\nfor field pc of struct call_site.\n\nHowever, this was not tested, and when indeed moving field pc to the second\nlocation, we run into a testsuite failure in gdb.trace/entry-values.exp.\n\nThis is caused by core_addr_eq (the eq_f function for the htab) being\ncalled with a pointer to the pc field (as passed into htab_find_slot) and a\npointer to a hash table element.  Now that pc is no longer the first field,\nthe pointer to hash table element no longer points to the pc field.\n\nThis could be fixed by simply reinstating the comment, but we\u0027re trying to\nget rid of this kind of tricks that make refactoring more difficult.\n\nInstead, fix this by:\n- reverting commit b4c919f7525, apart from the comment removal, such that\n  we\u0027re passing a pointer to element to htab_find_slot\n- updating the htab_find_slot call in compunit_symtab::find_call_site\n  in a similar manner\n- adding a call_site_eq and call_site_hash, and using these in the hash table\n  instead of core_addr_eq and core_addr_hash.\n\nTested on x86_64-linux, both with and without a trigger patch that moves pc to\nthe second location in struct call_site.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "214810da183c209ec6a035e74610204d3be85c03",
      "old_mode": 33188,
      "old_path": "gdb/dwarf2/read.c",
      "new_id": "f8421aeb344948b7d8c83192acb88880575b829d",
      "new_mode": 33188,
      "new_path": "gdb/dwarf2/read.c"
    },
    {
      "type": "modify",
      "old_id": "6d09576208d87e702811e9c1760a56a7b713d452",
      "old_mode": 33188,
      "old_path": "gdb/gdbtypes.h",
      "new_id": "8021cb21eccbf71157ade87e3ff70408baec93a3",
      "new_mode": 33188,
      "new_path": "gdb/gdbtypes.h"
    },
    {
      "type": "modify",
      "old_id": "e6851c31e273deb86e6e3b76da644fbf6ba97cf4",
      "old_mode": 33188,
      "old_path": "gdb/symtab.c",
      "new_id": "bd1eb429b94f68710e830adee756cb6ffed8bdb7",
      "new_mode": 33188,
      "new_path": "gdb/symtab.c"
    }
  ]
}
