)]}'
{
  "commit": "9030a82d6f700e03ab143f0d002e9f21ae2fd52f",
  "tree": "6c8cb41f79076800fa6473f430d719d38192c386",
  "parents": [
    "d2ac569f7b443aef7b2be2f0c80d8ab0d67b4292"
  ],
  "author": {
    "name": "Tom Tromey",
    "email": "tom@tromey.com",
    "time": "Tue Aug 01 15:09:49 2023 -0600"
  },
  "committer": {
    "name": "Tom Tromey",
    "email": "tom@tromey.com",
    "time": "Sat Aug 26 10:10:59 2023 -0600"
  },
  "message": "Use get_frame_address_in_block in print_frame\n\nThe author of \u0027mold\u0027 pointed out that with a certain shared library,\ngdb would fail to find the shared library\u0027s name in \u0027bt\u0027.\n\nThe function in question appeared at the end of the .so\u0027s .text\nsegment and ended with a call to \u0027abort\u0027.\n\nThis turned out to be a classic case of calling get_frame_pc when\nget_frame_address_in_block is needed -- the former will be off-by-one\nfor purposes of finding the enclosing function or shared library.\n\nThe included test fails without the patch on my system.  However, I\nimagine it can\u0027t be assumed to reliably fail.  Nevertheless it seemed\nworth doing.\n\nRegression tested on x86-64 Fedora 38.\n\nBug: https://sourceware.org/bugzilla/show_bug.cgi?id\u003d29074\nReviewed-by: Kevin Buettner \u003ckevinb@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "002bf58063454c20f70a9ba05be2f6cf711ad54f",
      "old_mode": 33188,
      "old_path": "gdb/stack.c",
      "new_id": "0b35d62f82f30536ab9a28cfb1eaf706dfc8f64e",
      "new_mode": 33188,
      "new_path": "gdb/stack.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "22543230d3b6698edd1c1c49edb2d5b53cd2ab3d",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.base/solib-abort-lib.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "42f4dc54ed65cb45943c396abb37aff19a4300d9",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.base/solib-abort.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fcc229623bc92bce03ad78f3ee8c3f3722c40095",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.base/solib-abort.exp"
    }
  ]
}
