)]}'
{
  "commit": "22a3dcacf2fb9e90bea2708a4a3d8a56bc873d9e",
  "tree": "0fd7e4dbf9b15f5c72adb153ff3c3bc23f2268ed",
  "parents": [
    "ac42d5541d9d4c72b9f364a73cb4a6bd7251b13e"
  ],
  "author": {
    "name": "Iain Sandoe",
    "email": "iain@sandoe.co.uk",
    "time": "Sun Aug 30 14:54:38 2026 +0100"
  },
  "committer": {
    "name": "Iain Sandoe",
    "email": "iain@sandoe.co.uk",
    "time": "Sun Sep 06 17:36:22 2026 +0100"
  },
  "message": "X86, Darwin: Handle lazy resolver stub clobbers for no_caller_saved_registers.\n\nFor Darwin versions up to darwin21, lazy symbol resolution requires use\nof a stub that clobbers d10 and d11 on x86_64.  However, this requirement\nis overidden by the user specifying that a call is no_caller_saved_regs.\n\nThe current mechanism (querying an attribute) is a bit unfortunate on a\nrelatively hot path.  However, testing did not show anything outside the\nnoise level in extra compile time - perhaps reflecting that relatively\nfew functions carry attributes.\n\nTODO: consider dropping this check for Darwin21+ where the dynamic linker\nhas been revised to use a different approach.\n\ngcc/ChangeLog:\n\n\t* config/i386/i386-expand.cc (ix86_expand_call): User setting of\n\tno_caller_saved_registers overrides lazy symbol stub reservations.\n\nSigned-off-by: Iain Sandoe \u003ciain@sandoe.co.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2d250fa57b264633aac0cd0965377b386f14d1a0",
      "old_mode": 33188,
      "old_path": "gcc/config/i386/i386-expand.cc",
      "new_id": "7fa9d7f6b8d3f8e0a8751566e33667e25c43b265",
      "new_mode": 33188,
      "new_path": "gcc/config/i386/i386-expand.cc"
    }
  ]
}
