)]}'
{
  "commit": "890891f14de5f08a5e5bfa4a6907fb6ec409dd45",
  "tree": "437337a4bedf92a34a933c9d21bd05237fec3649",
  "parents": [
    "a47dae3f3a6265576a876c9d6229c8e1e29d5636"
  ],
  "author": {
    "name": "Guinevere Larsen",
    "email": "blarsen@redhat.com",
    "time": "Fri Jul 21 13:45:12 2023 +0200"
  },
  "committer": {
    "name": "Guinevere Larsen",
    "email": "blarsen@redhat.com",
    "time": "Thu Aug 24 11:08:35 2023 +0200"
  },
  "message": "gdb/testsuite: fix gdb.reverse/solib-*.exp tests when using clang\n\nThe tests gdb.reverse/solib-precsave.exp and solib-reverse.exp have the\nassumption that line tables will have an entry for the closing } in a\nfunction. Not all compiles do this, one example being clang. To fix\nthis, this commit changes the function in shr2.c to have multiple lines,\nand the test to accept either line as a correct step location.\n\nTo properly re-sync the inferiors, the function repeat_cmd_until had to\nbe slightly changed to work with empty \"current locations\", so that we\nare able to step through multiple lines.\n\nThis also changes the annotations used to determine the breakpoint\nlocations in solib-reverse.c, adding a simple variable assignment right\nbefore the return statement. This way GDB will not set a breakpoint in\nthe closing } line.\n\nApproved-By: Tom Tromey \u003ctom@tromey.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "84a03de1b8c41e9bcff91aa1459885282bc5a7e1",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.reverse/shr2.c",
      "new_id": "16c3bf3bc6c9ac8504561481dcf929c4e5af7723",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.reverse/shr2.c"
    },
    {
      "type": "modify",
      "old_id": "3ca738280630e397292d2ba7eba8cbfd3c356629",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.reverse/solib-precsave.exp",
      "new_id": "f89969222c6e2d500d8df87a9cd62a478b10f669",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.reverse/solib-precsave.exp"
    },
    {
      "type": "modify",
      "old_id": "7aa60089df3d657e1b8e297c9c84c834b84b2b7f",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.reverse/solib-reverse.c",
      "new_id": "20288e0bee8c0eea3fe9a236c1a3595d66871c4a",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.reverse/solib-reverse.c"
    },
    {
      "type": "modify",
      "old_id": "c061086a8d72c5b8ce3e8d00954b0eab6d680d09",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.reverse/solib-reverse.exp",
      "new_id": "afc4659184aea9d2044594e18eccb9d4e8b6f318",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.reverse/solib-reverse.exp"
    },
    {
      "type": "modify",
      "old_id": "36bf738c667025a8821a475aea9998ca8ff45956",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/lib/gdb.exp",
      "new_id": "8432e636eccea60ae379dfe56e1b482945d5cec9",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/lib/gdb.exp"
    }
  ]
}
