)]}'
{
  "commit": "7384826ebff8a91a3f9b632e9e3982760fab966e",
  "tree": "c1a7e3eff5562eeec53ac44686864a8873fbfb4a",
  "parents": [
    "a423c9f39294b5cc6f658a145f3844d19f3f3cf1"
  ],
  "author": {
    "name": "John Baldwin",
    "email": "jhb@FreeBSD.org",
    "time": "Fri Jan 28 11:14:37 2022 -0800"
  },
  "committer": {
    "name": "John Baldwin",
    "email": "jhb@FreeBSD.org",
    "time": "Fri Jan 28 11:14:37 2022 -0800"
  },
  "message": "FreeBSD x86: Use tramp-frame for signal frames.\n\nUse a register map to describe the registers in mcontext_t as part of\nthe signal frame as is done on several other FreeBSD arches.  This\npermits fetching the fsbase and gsbase register values from the signal\nframe for both amd64 and i386 and permits fetching additional segment\nregisters stored as 16-bit values on amd64.\n\nWhile signal frames on FreeBSD do contain floating point/XSAVE state,\nthese unwinders do not attempt to supply those registers.  The\nexisting x86 signal frame uwinders do not support these registers, and\nthe only existing functions which handle FSAVE/FXSAVE/XSAVE state all\nwork with regcaches.  In the future these unwinders could create a\ntempory regcache, collect floating point registers, and then supply\nvalues out of the regcache into the trad-frame.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "3c79a40687b9c7364d3d39f8e5e9a9dc7dfb365d",
      "old_mode": 33188,
      "old_path": "gdb/amd64-fbsd-nat.c",
      "new_id": "f9bd45de4554de2248cac4554deccb75d8789676",
      "new_mode": 33188,
      "new_path": "gdb/amd64-fbsd-nat.c"
    },
    {
      "type": "modify",
      "old_id": "f61ca74d88a568e8abd96a5dc69a39ad10e6eead",
      "old_mode": 33188,
      "old_path": "gdb/amd64-fbsd-tdep.c",
      "new_id": "fa363776fc01aa75fd0b5969dcb149c0241627d7",
      "new_mode": 33188,
      "new_path": "gdb/amd64-fbsd-tdep.c"
    },
    {
      "type": "modify",
      "old_id": "cdc1d6f6df4e3048cd2379e089259804a15c5608",
      "old_mode": 33188,
      "old_path": "gdb/amd64-tdep.h",
      "new_id": "c18766e71c46a5db593d4d20a8939cf98bf3204b",
      "new_mode": 33188,
      "new_path": "gdb/amd64-tdep.h"
    },
    {
      "type": "modify",
      "old_id": "a04478ac5a776a82df35f99d905e64f5633e8d64",
      "old_mode": 33188,
      "old_path": "gdb/i386-bsd-nat.c",
      "new_id": "c112b02c2e1ba8418edb47bbd632f871c2c1fdf4",
      "new_mode": 33188,
      "new_path": "gdb/i386-bsd-nat.c"
    },
    {
      "type": "modify",
      "old_id": "6d720d8377f16a8a4ea735a728100d6e70062e0a",
      "old_mode": 33188,
      "old_path": "gdb/i386-fbsd-tdep.c",
      "new_id": "6a656ddf09c2179d9f629c7dd85d57d05f595ed5",
      "new_mode": 33188,
      "new_path": "gdb/i386-fbsd-tdep.c"
    },
    {
      "type": "modify",
      "old_id": "62d94da53b03a0666051a337c2dd450fcd579048",
      "old_mode": 33188,
      "old_path": "gdb/i386-tdep.h",
      "new_id": "eb58dd68e73d19618937602101442b48a1425d9d",
      "new_mode": 33188,
      "new_path": "gdb/i386-tdep.h"
    }
  ]
}
