)]}'
{
  "commit": "326a9fa5631ebb497c1137d28469186a76f583ed",
  "tree": "183a60865a01e7f10da19d8eb38697a3cad0bea6",
  "parents": [
    "75143099f9c8f56a799c1c89f225debb9caf20f0"
  ],
  "author": {
    "name": "Zhaoxuan Jiang",
    "email": "jiangzhaoxuan94@gmail.com",
    "time": "Thu Apr 16 08:17:47 2026 +0800"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Apr 15 17:17:47 2026 -0700"
  },
  "message": "[lld][MachO] Key branch-extension thunks on (referent, addend) (#191808)\n\nTextOutputSection::finalize ignored branch relocation addends. Two call\nsites branching to the same symbol with different addends therefore\ncollapsed onto a single thunk.\n\nKey thunkMap on (isec, value, addend) so two call sites with different\naddends get independent thunks. The addend is encoded in the thunk\u0027s\nrelocs and is zeroed at the call site after the callee is redirected to\nthe thunk. Thunk names carry a `+N` suffix when the addend is non-zero.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "04da702b48764a0a8d9240d72cf040bdff7c1785",
      "old_mode": 33188,
      "old_path": "lld/MachO/Arch/ARM64.cpp",
      "new_id": "7acf48cbbf123361143f243f7eb39a15b93201e4",
      "new_mode": 33188,
      "new_path": "lld/MachO/Arch/ARM64.cpp"
    },
    {
      "type": "modify",
      "old_id": "fe67308942e7504cf61cc09efd4ff7bea35f9f48",
      "old_mode": 33188,
      "old_path": "lld/MachO/ConcatOutputSection.cpp",
      "new_id": "753dea90d0f5d1a9f717596deb626e733df5fb34",
      "new_mode": 33188,
      "new_path": "lld/MachO/ConcatOutputSection.cpp"
    },
    {
      "type": "modify",
      "old_id": "f09d1cdbaba010c15882bf3913779921b99e166f",
      "old_mode": 33188,
      "old_path": "lld/MachO/ConcatOutputSection.h",
      "new_id": "dd277431996497a89dd6534dcaee895e5648cdb0",
      "new_mode": 33188,
      "new_path": "lld/MachO/ConcatOutputSection.h"
    },
    {
      "type": "modify",
      "old_id": "34847adc8595428d08dfede3f8eca4f2fb169f70",
      "old_mode": 33188,
      "old_path": "lld/MachO/InputSection.cpp",
      "new_id": "4c4f644889d5fbc4cee6bed9e681309fcfde7f83",
      "new_mode": 33188,
      "new_path": "lld/MachO/InputSection.cpp"
    },
    {
      "type": "modify",
      "old_id": "e0a90a2edc0afb2bc417e7220c3d30ac93fe7f7a",
      "old_mode": 33188,
      "old_path": "lld/MachO/InputSection.h",
      "new_id": "2ecc198c99c5d043928e653cfe058527f1878a26",
      "new_mode": 33188,
      "new_path": "lld/MachO/InputSection.h"
    },
    {
      "type": "modify",
      "old_id": "145c14037995a7b65b833e5200685ec4b98c81a6",
      "old_mode": 33188,
      "old_path": "lld/MachO/Target.h",
      "new_id": "0c7c0c3817c97d1185ab105cb57af0661070361d",
      "new_mode": 33188,
      "new_path": "lld/MachO/Target.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "542319899dcbbdcb5c0ba70ef62b9dd2524fd750",
      "new_mode": 33188,
      "new_path": "lld/test/MachO/arm64-thunk-branch-addend.s"
    }
  ]
}
