)]}'
{
  "commit": "e47d3a30881794c99a6de3aa9adc806bf3dc79f6",
  "tree": "601cdf9e21fc497302073b4506ad5c2cf5068a9c",
  "parents": [
    "6c3adaafe3f2139fba5ef3865cbcbba93dbab645"
  ],
  "author": {
    "name": "Peter Smith",
    "email": "peter.smith@arm.com",
    "time": "Tue Apr 01 09:49:27 2025 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Apr 01 09:49:27 2025 +0100"
  },
  "message": "[LLD][AArch64] Increase alignment of AArch64AbsLongThunk to 8 (#133738)\n\nThis permits an AArch64AbsLongThunk to be used in an environment where\nunaligned accesses are disabled.\n\nThe AArch64AbsLongThunk does a load of an 8-byte address. When unaligned\naccesses are disabled this address must be 8-byte aligned.\n\nThe vast majority of AArch64 systems will have unaligned accesses\nenabled in userspace. However, after a reset, before the MMU has been\nenabled, all memory accesses are to \"device\" memory, which requires\naligned accesses. In systems with multi-stage boot loaders a thunk may\nbe required to a later stage before the MMU has been enabled.\n\nAs we only want to increase the alignment when the ldr is used we delay\nthe increase in thunk alignment until we know we are going to write an\nldr. We also need to account for the ThunkSection alignment increase\nwhen this happens.\n\nIn some of the test updates, particularly those with shared CHECK lines\nwith position independent thunks it was easier to ensure that the thunks\nstarted at an 8-byte aligned address in all cases.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b03c4282ab1aa5d4818395ae33bc2faa9105c763",
      "old_mode": 33188,
      "old_path": "lld/ELF/SyntheticSections.cpp",
      "new_id": "3bb9815336a7cd6f58d197eb14762a5674030fb5",
      "new_mode": 33188,
      "new_path": "lld/ELF/SyntheticSections.cpp"
    },
    {
      "type": "modify",
      "old_id": "0008ee3a0de67ecedcb5ea5c7e18c1d19ee0c62e",
      "old_mode": 33188,
      "old_path": "lld/ELF/Thunks.cpp",
      "new_id": "bad1b4b85735ad6ac1dc54f36716639e03e255b9",
      "new_mode": 33188,
      "new_path": "lld/ELF/Thunks.cpp"
    },
    {
      "type": "modify",
      "old_id": "8c3034f568b3924befe93fe75a214c3f5a5c4be2",
      "old_mode": 33188,
      "old_path": "lld/test/ELF/aarch64-call26-thunk.s",
      "new_id": "4200bb09eaef756193a1cd82316efd64056145c6",
      "new_mode": 33188,
      "new_path": "lld/test/ELF/aarch64-call26-thunk.s"
    },
    {
      "type": "modify",
      "old_id": "484de11ac5541a978b0267af4990f9b9884e0aee",
      "old_mode": 33188,
      "old_path": "lld/test/ELF/aarch64-cortex-a53-843419-thunk.s",
      "new_id": "4fca2113c39a62a4bef39e9b70782ad1c1df9a5d",
      "new_mode": 33188,
      "new_path": "lld/test/ELF/aarch64-cortex-a53-843419-thunk.s"
    },
    {
      "type": "modify",
      "old_id": "7fea5eebc366806c54158e7ed73767756fb0887a",
      "old_mode": 33188,
      "old_path": "lld/test/ELF/aarch64-jump26-thunk.s",
      "new_id": "3c9ce69920efceeb30234a710728d3663a0456e7",
      "new_mode": 33188,
      "new_path": "lld/test/ELF/aarch64-jump26-thunk.s"
    },
    {
      "type": "modify",
      "old_id": "1d09012a2295c9b30b4ab4ef96834a9e0200d4b7",
      "old_mode": 33188,
      "old_path": "lld/test/ELF/aarch64-range-thunk-extension-plt32.s",
      "new_id": "9ebf7f5c69526eba9e0295749c949fac68dbe401",
      "new_mode": 33188,
      "new_path": "lld/test/ELF/aarch64-range-thunk-extension-plt32.s"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "425a00c7564a4255e8ba8d342c0576d5e2a8fc80",
      "new_mode": 33188,
      "new_path": "lld/test/ELF/aarch64-thunk-align.s"
    },
    {
      "type": "modify",
      "old_id": "4f0d7343cc6bfc6991f8c56dd3e5e1a4cb1dd750",
      "old_mode": 33188,
      "old_path": "lld/test/ELF/aarch64-thunk-bti-multipass.s",
      "new_id": "f2ff914fb850dfe5ffba2e01bab6afadc041b47e",
      "new_mode": 33188,
      "new_path": "lld/test/ELF/aarch64-thunk-bti-multipass.s"
    },
    {
      "type": "modify",
      "old_id": "a447fe4ee9274c794c5e3efced4ede8b885a6f6e",
      "old_mode": 33188,
      "old_path": "lld/test/ELF/aarch64-thunk-bti.s",
      "new_id": "0672ad75d8094f4ed02269d91ff538feb5311952",
      "new_mode": 33188,
      "new_path": "lld/test/ELF/aarch64-thunk-bti.s"
    }
  ]
}
