)]}'
{
  "commit": "1d98e564c97f770bb39954b347c129aa8950dc3b",
  "tree": "d669e1179142b7223b18876052684154f9c9c092",
  "parents": [
    "4fe960e8f105c1c3c672a56f768bb65b2b8cc04e"
  ],
  "author": {
    "name": "Tom de Vries",
    "email": "tdevries@suse.de",
    "time": "Thu Jan 26 17:21:01 2023 +0100"
  },
  "committer": {
    "name": "Tom de Vries",
    "email": "tdevries@suse.de",
    "time": "Thu Jan 26 17:21:01 2023 +0100"
  },
  "message": "[gdb/testsuite] Add gdb.base/unwind-on-each-insn-{amd64,i386}.exp\n\nThe gcc 4.4.x (and earlier) compilers had the problem that the unwind info in\nthe epilogue was inaccurate.\n\nIn order to work around this in gdb, epilogue unwinders were added with a\nhigher priority than the dwarf unwinders in the amd64 and i386 targets:\n- amd64_epilogue_frame_unwind, and\n- i386_epilogue_frame_unwind.\n\nSubsequently, the epilogue unwind info problem got fixed in gcc 4.5.0.\n\nHowever, the epilogue unwinders prevented gdb from taking advantage of the\nfixed epilogue unwind info, so the scope of the epilogue unwinders was\nlimited, bailing out for gcc \u003e\u003d 4.5.0.\n\nThere was no regression test added for this preference scheme, so if we now\ndeclare epilogue unwind info from all gcc versions as trusted, no test will\nstart failing.\n\nFix this by adding an amd64 and i386 regression test for this.\n\nI have no gcc 4.4.x lying around, so I fabricated the assembly files by:\n- commenting out some .cfi directives to break the epilogue unwind info, and\n- hand-editing the producer info to 4.4.7 to activate the fix.\n\nTested on x86_64-linux, target boards unix/{-m64,-m32}.\n",
  "tree_diff": [
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b005715aa562c71c6bcdbb45e31460490f9e5a5d",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.base/unwind-on-each-insn-amd64.exp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0def4f61457f46cd829afeebabf4b01513123a58",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.base/unwind-on-each-insn-amd64.s"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d4d57eb57a9b74e31e449e2d2f786994d322ca90",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.base/unwind-on-each-insn-i386.exp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d0f96bef252efcf8eeefd23a9325c4e3cc8191a9",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.base/unwind-on-each-insn-i386.s"
    },
    {
      "type": "modify",
      "old_id": "0d0683659c3aa42d25e041edd5827ebb40bc59f8",
      "old_mode": 33188,
      "old_path": "gdb/testsuite/gdb.base/unwind-on-each-insn.exp",
      "new_id": "e86565a03f67508692d9cd9068368a853e41555a",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.base/unwind-on-each-insn.exp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "45ed91a3986d34cf4b5efc1a9cc179da57d5f900",
      "new_mode": 33188,
      "new_path": "gdb/testsuite/gdb.base/unwind-on-each-insn.exp.tcl"
    }
  ]
}
