)]}'
{
  "commit": "3d8523e3a45e583b2472df55d3752a2b41e3550f",
  "tree": "a3f1e912f6fb23f0deab95d5ef567bea6cd2bc5b",
  "parents": [
    "a23ef19dec706d7fd1f85d2d47e15630f1c59896"
  ],
  "author": {
    "name": "Matthieu Longo",
    "email": "matthieu.longo@arm.com",
    "time": "Wed May 21 11:18:48 2025 +0100"
  },
  "committer": {
    "name": "Matthieu Longo",
    "email": "matthieu.longo@arm.com",
    "time": "Wed Jun 11 11:32:45 2025 +0100"
  },
  "message": "AArch64 tests: remove RWX permissions on segments\n\naarch64.ld is the linker script used by most of the relocation tests in AArch64\ntestsuite. The script does not provide information enough to the linker to assess\nthe right set of permisssions on segments (i.e. Read/Write/Execute).\nThis insufficiency caused the linker to bundle all the sections in a same segment\nwith the union of all the required permissions, i.e. RWX.\nA segment with such lax permissions constitutes a security hole, so the linker\nemits the following warning message:\n    \u003cELF file\u003e has a LOAD segment with RWX permissions.\nThis warning message is noisy in the tests, and has no reason to exist.\n\nThis issue can be addressed in two ways:\n- either by providing the right set of permissions on a section so that the\n  linker assigns them to a segment with compatible permissions.\n- or by providing alignment constraints so that the linker can move the sections\n  automatically to a new segment and set the right permission for non-executable\n  data.\n\nThe second option seems to be the preferred approach, even if not explicitly\nrecommended. Examples of linker scripts for AArch64 are available at [1].\n\n[1]: https://developer.arm.com/documentation/dui0474/m/gnu-ld-script-support-in\n     -armlink/default-gnu-ld-scripts-used-by-armlink/default-ld-script-when\n     -building-an-executable?lang\u003den\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4676cd41f1cbabb4f8e32d76ccf74fb11db102eb",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/aarch64.ld",
      "new_id": "765ddf50ca50534a8502b2db6f290465077773ae",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/aarch64.ld"
    },
    {
      "type": "modify",
      "old_id": "6525d10119caa4081a9c75c311156a2535569f0e",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/gc-got-relocs.d",
      "new_id": "a1821c3830556622dee4c6569e1fec1e402b127e",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/gc-got-relocs.d"
    },
    {
      "type": "modify",
      "old_id": "5c9b5fe5577d9289b8471d6edaebd5ce629c3906",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/gc-plt-relocs.d",
      "new_id": "ac455f81e94fb77b96ac95f8aab3eaa6513a242f",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/gc-plt-relocs.d"
    },
    {
      "type": "modify",
      "old_id": "56fcfa4fdc4cac2b2d8ea09193ed49db7c79543f",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/gc-relocs-257-dyn.d",
      "new_id": "2e5e4c61db0e18e4d90924f3538f2e7a39d8be11",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/gc-relocs-257-dyn.d"
    },
    {
      "type": "modify",
      "old_id": "ffa757190275a32fc35caaf4f5c874048f5d184d",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/gc-relocs-257.d",
      "new_id": "022b407f4d6c5061beaced8dd8dd70f0503693c9",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/gc-relocs-257.d"
    },
    {
      "type": "modify",
      "old_id": "38637dce07c9fba03f818f71684e4ed3ac0f8a86",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/gc-tls-relocs.d",
      "new_id": "2f2210ce5925ab8665ea09be98325c553560b129",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/gc-tls-relocs.d"
    }
  ]
}
