)]}'
{
  "commit": "88bd7bd086231a2c2cd84f94bb0c698075791e35",
  "tree": "471db6ed1c74df74a4685c69e710a4b866309b82",
  "parents": [
    "7fe76e039e0cd0c444b86506cfaa050d9d1cb99a"
  ],
  "author": {
    "name": "Matthieu Longo",
    "email": "matthieu.longo@arm.com",
    "time": "Thu Dec 04 15:50:30 2025 +0000"
  },
  "committer": {
    "name": "Matthieu Longo",
    "email": "matthieu.longo@arm.com",
    "time": "Wed Jan 21 12:49:19 2026 +0000"
  },
  "message": "aarch64: silence GCS warnings on shared libraries for -z gcs\u003dimplicit\n\nDynamic library incompatibilities should not be reported when no GCS\noption is provided (defaults to \u0027-z gcs\u003dimplicit\u0027) and no explicit\ndiagnostic is provided via \u0027-z gcs-report-dynamic\u0027.\n\nBinary Linux distributions do not rebuild all packages from scratch\nwhen rolling out a new feature or creating a new release; only\nmodified packages get rebuilt. In the context of GCS deployment, this\nmeant that some packages were rebuilt with GCS enabled while their\ndependencies were not yet GCS-compatible, resulting in warnings. These\nwarnings caused build failures for packages that treat linker warnings\nas errors. Those errors slowed down the GCS deployment, and Linux\ndistribution maintainers requested that no GCS option provided should\nbe equivalent to \u0027-z gcs\u003dimplicit -z gcs-report-dynamic\u003dnone\u0027.\n\nIn contrast, \u0027-z gcs\u003dalways\u0027 should continue to report such issues by\ndefault. Warnings can still be disabled or promoted to errors by\nexplicitly setting \u0027-z gcs-report-dynamic\u0027 to respectively \u0027none\u0027 or\n\u0027error\u0027.\n\nThis patch preserves the existing behaviour for \u0027-z gcs\u003dnever\u0027, changes\nthe default behaviour of \u0027-z gcs\u003dimplicit\u0027 or no GCS option, and removed\nthe inheritance mechanism between \u0027-z gcs-report\u0027 and \u0027-z gcs-report-dynamics\u0027.\nThe expected behaviour with the different possible combinations is as\nfollows:\n* -z gcs\u003dnever:\n  No diagnostic messages are emitted.\n* -z gcs\u003dimplicit:\n  No diagnostic messages are emitted for input static objects.\n  However, if all the input static objects are marked for GCS, the\n  output object will also be marked for GCS.\n  In this case the output is marked with GCS, \u0027-z gcs-report-dynamic\u0027\n  defaults to \u0027none\u0027 and no diagnostics are emitted. Diagnostics can\n  be enabled by explicitly providing the option.\n* -z gcs\u003dalways:\n  Warning diagnostics for both static and dynamic input objects are\n  enabled by default. The two options are independent of one another,\n  and the diagnostic level can be adjusted for each by explicitly\n  providing the desired level to \u0027-z gcs-report-dynamic\u0027 and \u0027-z\n  gcs-report\u0027.\n\nThe patch also updates the existing tests, removes redundant test cases,\nand adds new tests covering cases with no report option provided, or\nreport options explicitly set.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "00a4f171cf131f85aa3c1db7e75cd9623e7c5513",
      "old_mode": 33188,
      "old_path": "bfd/elfnn-aarch64.c",
      "new_id": "d0be20ee459ae250072195fad1d58d3862a14467",
      "new_mode": 33188,
      "new_path": "bfd/elfnn-aarch64.c"
    },
    {
      "type": "modify",
      "old_id": "cd3a6c63d99a5f3ca5a9d7a3e7ad2a41fee74f6e",
      "old_mode": 33188,
      "old_path": "ld/emultempl/aarch64elf.em",
      "new_id": "5ddbed99724077944fb29f6366df538f4b76e2e0",
      "new_mode": 33188,
      "new_path": "ld/emultempl/aarch64elf.em"
    },
    {
      "type": "modify",
      "old_id": "7cadc853af90539e2f6fddb8337b7ffc33d6b880",
      "old_mode": 33188,
      "old_path": "ld/ld.texi",
      "new_id": "3dc76a1f8c6b56c59c1828872827748508f34bcb",
      "new_mode": 33188,
      "new_path": "ld/ld.texi"
    },
    {
      "type": "modify",
      "old_id": "8205832f5242343fa28ba152c98e6aabf90e3fd8",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-1-c.d",
      "new_id": "98ff3da317cbb302ab0aec97bc6af4398ee59a8b",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-1-c.d"
    },
    {
      "type": "modify",
      "old_id": "736330375fac405e14b0ca20641cdb7994e7ccf9",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-1-d.d",
      "new_id": "15db497528fa2d8f1c52c6d48a6b86e11ec0d150",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-1-d.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "28198da708d09c7d29d2267722130697b693c514",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-1-e.d"
    },
    {
      "type": "modify",
      "old_id": "77711ea0a586db5db1417fb3b72ce5fff5ebde4a",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-2-a-i.d",
      "new_id": "536687e7cf8630a69516eed1c67d3ae33c6186b5",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-2-a-i.d"
    },
    {
      "type": "modify",
      "old_id": "04094a9036cc65b59fa0dfe40a004c560ea2385a",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-2-a-ii.d",
      "new_id": "ef2c41d4dd7032ef897e8d17b26c98bbf5ee53f7",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-2-a-ii.d"
    },
    {
      "type": "modify",
      "old_id": "cecf2742495080594af64aff503e60a7187274b9",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-2-b-i.d",
      "new_id": "424e35a208bdf92da3ae370a175feb8181f97fc7",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-2-b-i.d"
    },
    {
      "type": "modify",
      "old_id": "853629935bb1f1904e4651c1b1c253358affd9e9",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-2-b-ii.d",
      "new_id": "1e9c59926675b9b3b9977636a9dac72ff0999e0e",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-2-b-ii.d"
    },
    {
      "type": "modify",
      "old_id": "b49e7c4d7acb683bb8f2e5bccf2cc404968818a7",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-2-b-iii.d",
      "new_id": "91c3a290077ced2226db7435eb84542c02bab03d",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-2-b-iii.d"
    },
    {
      "type": "modify",
      "old_id": "c98f3e0525a2476672b90cff8beaf49bb5bef238",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-2-b-iv.d",
      "new_id": "bb2425fd65e48b3dad70c0fd50b5630477efe88c",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-2-b-iv.d"
    },
    {
      "type": "rename",
      "old_id": "f03e7ef7febe9ef2809eea8232d02825480ba894",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-3-b-ii.d",
      "new_id": "1b2b7453c43fd152ca3727f6185df2094f3d60af",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-2-b-v.d",
      "score": 62
    },
    {
      "type": "modify",
      "old_id": "4bf8f6cbc16e95ff5f0ddb9f9b22e6ee6648dd16",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-2-c-i.d",
      "new_id": "644b7ce35cb22df00129d8dbb4117900fd648ab7",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-2-c-i.d"
    },
    {
      "type": "modify",
      "old_id": "6941233cb6cd0d1a83c3e15df38c58dc9a34d043",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-2-c-ii.d",
      "new_id": "d4438e9d44bd6c05d875b05160a7aabc62bc01d5",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-2-c-ii.d"
    },
    {
      "type": "rename",
      "old_id": "bbe5e1092c5f80474a265060095eb5f27ad662c3",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-3-c-ii.d",
      "new_id": "4fc4df9c144e282a5edc999f9c1952c57275ca41",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-2-c-iii.d",
      "score": 61
    },
    {
      "type": "modify",
      "old_id": "c1c5ba3e1268f655101c89c32295238fdd910cdd",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-3-a-i.d",
      "new_id": "f9b01b93465d148ae0f1045963ce122dd47012c9",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-3-a-i.d"
    },
    {
      "type": "modify",
      "old_id": "d7289be30cf6d5175bdbb9c35c961228a54cbf13",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-3-a-ii.d",
      "new_id": "0282a2e995eaca260c42a75a0be49d11c8908192",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-3-a-ii.d"
    },
    {
      "type": "modify",
      "old_id": "5f55e2f16fc0fa257c4129c1286021ffc3558d28",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-3-a-iii.d",
      "new_id": "3d3c854b6d6d8f2acfb41fbf2d363689a837eb27",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-3-a-iii.d"
    },
    {
      "type": "modify",
      "old_id": "5c340c400648d1921543d5b8660a074384fe35d2",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-3-a-iv.d",
      "new_id": "0b5d11186344b0363a62e94d70dd6228d967d186",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-3-a-iv.d"
    },
    {
      "type": "delete",
      "old_id": "70cc1bd7c1534f947cf4206520c0f560a5ec9399",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-3-b-i.d",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "3d3e07cb310a3a4cb68aa57cde252716622a0f65",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-3-b-iii.d",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "472bb656d9ed2a52f7103b4f9a76b44205eae983",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-3-c-i.d",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "6bf96bc9985f7a6e57596d773c0b7efeedb7fddb",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-3-c-iii.d",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "be8a301f6c0ac767395938a654278e10073ea6b1",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-1-a.d",
      "new_id": "b8358c55f8a270fb64a2f8f4acae8a614591ca9f",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-1-a.d"
    },
    {
      "type": "modify",
      "old_id": "d53d45ae5980a074b4bc77c7bfc6f7c123366943",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-1-b.d",
      "new_id": "51a35412e84dc0a20925c475ddf145e46296fec8",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-1-b.d"
    },
    {
      "type": "delete",
      "old_id": "7adb481bc30f97684a555221800ad815d0273102",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-2-a-ii.d",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "76a7c461347cf2ac2325d573c782d11b7c12cf3b",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-2-a-iii.d",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "554ca1186ef29da890feb9f2d08b489f074ae3ba",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-2-a-iv.d",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "rename",
      "old_id": "903d14099be9cfbc83081db7df95df1f88580499",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-2-a-i.d",
      "new_id": "9623b5f498c03aa6f563b907e8b63a9c4b5b7632",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-2-a.d",
      "score": 84
    },
    {
      "type": "modify",
      "old_id": "36262bbc0876b18d101fd1b113540f9f69314a59",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-2-b.d",
      "new_id": "9750569400d231969b25c4eb85f59602bcb3022a",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-2-b.d"
    },
    {
      "type": "modify",
      "old_id": "6c7f5da8be74ff2ad6561d94dc7308335373c292",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-2-c.d",
      "new_id": "c142f6902625aa9d055fb7d9d7614208eb04951c",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-2-c.d"
    },
    {
      "type": "modify",
      "old_id": "58498e6c00b690218cf9dd0817326b1e90cb46e3",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-2-d.d",
      "new_id": "dee840d533cb187cb5957b6e6543aeea03d2ae75",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-2-d.d"
    },
    {
      "type": "modify",
      "old_id": "ecdaf526779acdd0342ec0c21f5b315e31ebdd67",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-3-a.d",
      "new_id": "471bebe642eb1a7ae3238985552d26d3de234be3",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-3-a.d"
    },
    {
      "type": "modify",
      "old_id": "4d32fb6aa549144f3ba1b41873e5d7bcea448c15",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-3-b.d",
      "new_id": "5ed6616df3eba1e4f8c5036dac09e259f1de58eb",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-3-b.d"
    },
    {
      "type": "modify",
      "old_id": "c0da6c1d9c63ebc4962284c487ee0e1862fe2abd",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-3-c.d",
      "new_id": "5f2be1167535cdc8b178b4802b32ec5004a92bf6",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-3-c.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "70f8845c9e3835c3c7794bd449504191cde4671e",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-3-d.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8781123b74957b70dcd865679e790d70cbe297e2",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-3-e.d"
    },
    {
      "type": "copy",
      "old_id": "903d14099be9cfbc83081db7df95df1f88580499",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-2-a-i.d",
      "new_id": "18d4350c5e77986d61610f0153306764157e0527",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-3-f.d",
      "score": 72
    },
    {
      "type": "modify",
      "old_id": "ae324bbba1eaf59bcd0446d48b31aed029946107",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-4-a.d",
      "new_id": "5c73a2920deb387315e594bde9bd59053ef5ba74",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-4-a.d"
    },
    {
      "type": "delete",
      "old_id": "6b65898b9248b7d9ef1ad0175683e188b68b947f",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-4-b.d",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "35b011f6a8e596e4d5456a946d7daf54ce665c03",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/protections/gcs-dynamic-4-c.d",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    }
  ]
}
