)]}'
{
  "commit": "ec6bbd2e0cb4d141db9048b0b5d5c0bcaa66c284",
  "tree": "c160a1a499b0cc4a532be70c8d70c4014e0ad38a",
  "parents": [
    "56d1cb796fa05735d71b7a5a29d73642b70fc96e"
  ],
  "author": {
    "name": "Ezra Sitorus",
    "email": "ezra.sitorus@arm.com",
    "time": "Mon Jun 01 23:36:46 2026 +0100"
  },
  "committer": {
    "name": "Ezra Sitorus",
    "email": "ezra.sitorus@arm.com",
    "time": "Mon Jun 01 23:36:46 2026 +0100"
  },
  "message": "gdb/aarch64: record/replay support for LRCPC3\n\nFEAT_LRCPC3 introduces various load/store instructions with release\nconsistency for cases where ordering is required. This patch teaches GDB\nto decode these instructions for recording and reversing.\n\nThe gdb.reverse/aarch64-lrcpc3.exp testcase verifies that the\ninstructions are recorded and correctly reversed. In particular, there\nare some interesting cases to note:\n* ldapur/stlur are SIMD instructions, but are not decoded in the simd\n  function.\n* There are writeback cases to cover too. These were taken from the\n  binutils testcases: gas/testsuite/gas/aarch64/rcpc3.s.\n\nThe full testsuite was done on aarch64-none-linux-gnu without LRCPC3.\nThe gdb.arch and gdb.reverse tests were run on Shrinkwrap with LRCPC3\nsupport.\n\nPlease note:\n1) There is no support for LRCPC and LRCPC2 instructions\n2) LRCPC3 is gated with +rcpc3 in GCC/binutils and LLVM.\n\nApproved-by: Thiago Jung Bauermann \u003cthiago.bauermann@linaro.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "673815c2763f554a2a23fb6324581185c1de6d68",
      "old_mode": 33188,
      "old_path": "gdb/aarch64-tdep.c",
      "new_id": "0cce4072ac7a7f3acf83396b198c445522b9c9c8",
      "new_mode": 33188,
      "new_path": "gdb/aarch64-tdep.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d61d32396e4b467507c08661fc9ad608befb1ef1",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.reverse/aarch64-lrcpc3.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b9e48147c2abfa9c9e4923167ce4501a3a88a938",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.reverse/aarch64-lrcpc3.exp"
    },
    {
      "type": "modify",
      "old_id": "96ef9e952a8c635e6296503db58151f07ddc5c45",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/lib/gdb.exp",
      "new_id": "c87876664f02936bcefe1d2785e94c370e9f8043",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/lib/gdb.exp"
    }
  ]
}
