)]}'
{
  "commit": "a418b1a4700ffdaffab296dc2f2e89dd6fa0b36c",
  "tree": "3904d9401a5d9a58dc6ed8a16756216e183ea36d",
  "parents": [
    "59544367f3fb50400e3ed15b652e223e9080d7af"
  ],
  "author": {
    "name": "Andrew Burgess",
    "email": "aburgess@redhat.com",
    "time": "Thu Mar 20 11:07:02 2025 +0000"
  },
  "committer": {
    "name": "Andrew Burgess",
    "email": "aburgess@redhat.com",
    "time": "Wed Feb 04 10:35:46 2026 +0000"
  },
  "message": "gdb: record block end addresses while parsing DIEs\n\nContinuing to work towards the goal of improving GDB\u0027s ability to\ndebug optimised code,  this commit stores a map from the end address\nof a block (or a block\u0027s sub-range) to the block pointer.  This\ninformation is collected while parsing the DIEs.\n\nThis new map is required as a consequence of the previous commit.  The\noptimised code fix ups require that we can map from an address back to\na block, something that the address map was perfect for, but the\nprevious commit deferred building the address map until later on.\n\nThe problem is that the optimised code fixes in the next commit\nrequire the address to block map, but also adjust block ranges, which\ninvalidates the address to block map.  We could try to build the full\naddress to block early on, and then update it as the optimised code\nfixes are performed, but this is expensive.\n\nThe solution I propose is to build a light weight, partial map, that\nonly holds the interesting (inline) blocks.  This partial map is only\nneeded between reading the DIE and applying the optimised code fixes,\nafter which it is done with, and as a consequence we don\u0027t need to\nupdate this map as the optimised code fixes adjust block ranges, this\nmakes the partial map cheaper.\n\nThis commit is all about building the new partial map.  Currently,\nnothing is done with this information; the information is recorded as\nthe block ranges are parsed, and then discarded after the line table\nhas been built.  But in the next commit, this will be used to help\nadjust the ranges of some inline blocks, and this will improve GDB\u0027s\nability to debug optimised code.\n\nThere should be no user visible changes after this commit.\n\nApproved-By: Tom Tromey \u003ctom@tromey.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "97c0b87121bc2ce27de0117e7874b211284fb580",
      "old_mode": 33188,
      "old_path": "gdb/dwarf2/cu.h",
      "new_id": "b3ade5a2e6ef91e4fcd03621d52ed308d7afb6f9",
      "new_mode": 33188,
      "new_path": "gdb/dwarf2/cu.h"
    },
    {
      "type": "modify",
      "old_id": "a7248c2627e62035c6b12401cee11cb6bffde6e2",
      "old_mode": 33188,
      "old_path": "gdb/dwarf2/read.c",
      "new_id": "d3b316dc57bf444c61b6c58cc77d078a0b3e3588",
      "new_mode": 33188,
      "new_path": "gdb/dwarf2/read.c"
    }
  ]
}
