)]}'
{
  "commit": "45b3bfcc906830d4feed35dbd0e2203f1886ead7",
  "tree": "79edf781db9d061b41b0b3543b4e6b087a8b97c9",
  "parents": [
    "a2bccd1858432b759c495369b8414881a7f89b12"
  ],
  "author": {
    "name": "Jan Vrany",
    "email": "jan.vrany@labware.com",
    "time": "Thu Oct 23 12:01:34 2025 +0100"
  },
  "committer": {
    "name": "Jan Vrany",
    "email": "jan.vrany@labware.com",
    "time": "Thu Oct 23 12:01:34 2025 +0100"
  },
  "message": "gdb: add block ordering predicate for ordering blocks in blockvector\n\nThis commit adds blockvector::block_less_than() predicate that defines\nrequired ordering of blocks within blockvector.\n\nIt orders blocks so that blocks with lower start address come before\nblocks with higher start address.  If two blocks start at the same\naddress, enclosing (larger) block should come before nested (smaller)\nblock.\n\nThis ordering is depended upon in find_block_in_blockvector(). Although\nits comment did not say so, find_block_in_blockvector() is called from\nblockvector_for_pc_sect() which is explicit about it. While at it, I\nchanged the comment of find_block_in_blockvector() to say so explicitly\ntoo.\n\nAs Andrew pointed out, buildsym.c sorts block slightly differently,\ntaking only the start address into account.  The comment there says\nblocks with same start address should not be reordered as they are in\ncorrect order already and that order is needed.  It is unclear to me\nif buildsym.c arranges blocks starting at the same address in required\norder before sorting them or this happens \"by chance\".  I did modify\nbuildsym_compunit::make_blockvector() to assert blocks are properly\nordered and running testsuite did not show any regressions.\n\nApproved-By: Tom Tromey \u003ctom@tromey.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "55a1d767dd9b760190b5ce2430c76d381fab9e7b",
      "old_mode": 33188,
      "old_path": "gdb/block.c",
      "new_id": "02e6d0e4be2bab2c1b3750a2f396e4bc97b7bc5d",
      "new_mode": 33188,
      "new_path": "gdb/block.c"
    },
    {
      "type": "modify",
      "old_id": "0d914d82d9e0cf29ac164bdb7f2942c02323d610",
      "old_mode": 33188,
      "old_path": "gdb/block.h",
      "new_id": "61070619ca7daa7b3310a9c5cd8d6ca86c044ada",
      "new_mode": 33188,
      "new_path": "gdb/block.h"
    }
  ]
}
