)]}'
{
  "commit": "8d59fa447f688b7863a5b3e6af5015e36c7f0024",
  "tree": "7620b9253ea8b3dc830cc2ad7b4ba78de9459265",
  "parents": [
    "a9ed7a0814fc70feaad485576d043a983b6f8695"
  ],
  "author": {
    "name": "Srinath Parvathaneni",
    "email": "srinath.parvathaneni@arm.com",
    "time": "Wed Oct 16 15:42:08 2024 +0100"
  },
  "committer": {
    "name": "Andre Vieira",
    "email": "andre.simoesdiasvieira@arm.com",
    "time": "Wed Oct 16 15:47:13 2024 +0100"
  },
  "message": "aarch64: Add support for GCS to AArch64 linker\n\nThis patch adds support for Guarded Control Stack in AArch64 linker.\n\nThis patch implements the following:\n1) Defines GNU_PROPERTY_AARCH64_FEATURE_1_GCS bit for GCS in\nGNU_PROPERTY_AARCH64_FEATURE_1_AND macro.\n\n2) Adds readelf support to read and print the GNU properties\nin AArch64.\n\nDisplaying notes found in: .note.gnu.property\n[      ]+Owner[        ]+Data size[    ]+Description\n  GNU                  0x00000010      NT_GNU_PROPERTY_TYPE_0\n      Properties: AArch64 feature: GCS\n\n3) Adds support for the \"-z gcs\" linker option and document all the values\nallowed with this option (-z gcs[\u003dalways|never|implicit]) where \"-z gcs\" is\nequivalent to \"-z gcs\u003dalways\" and when this option is not passed in the\ncommand line, it defaults to \"implicit\".\n\n4) Adds support for the \"-z gcs-report\" linker option and document all the\nvalues allowed with this option (-z gcs-report[\u003dnone|warning|error]) where\n\"-z gcs-report\" is equivalent to \"-z gcs-report\u003dnone\" and when this option\nis not passed in the command line, it defaults to \"none\".\n\nThe ABI changes adding GNU_PROPERTY_AARCH64_FEATURE_1_GCS to the\nGNU property GNU_PROPERTY_AARCH64_FEATURE_1_AND is merged into main and\ncan be found in [1].\n\n[1] https://github.com/ARM-software/abi-aa/blob/main/sysvabi64/sysvabi64.rst\n\nCo-authored-by: Matthieu Longo \u003cmatthieu.longo@arm.com\u003e\nCo-authored-by: Yury Khrustalev \u003cyury.khrustalev@arm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "94c9a01069b4384cf15e8512783dff4378ecd283",
      "old_mode": 33188,
      "old_path": "bfd/elfnn-aarch64.c",
      "new_id": "e4c2f55884491b9393bff35c7e6f65f659d73f0b",
      "new_mode": 33188,
      "new_path": "bfd/elfnn-aarch64.c"
    },
    {
      "type": "modify",
      "old_id": "d1279adc2e4c0f5e86d890747ac33a6e49803fc8",
      "old_mode": 33188,
      "old_path": "bfd/elfxx-aarch64.c",
      "new_id": "abe1ea68874be05af99ef4d2cc05f3844b47dfe1",
      "new_mode": 33188,
      "new_path": "bfd/elfxx-aarch64.c"
    },
    {
      "type": "modify",
      "old_id": "f21e5ee5efc3b63c5393b4c9ef5feb91c8f336a1",
      "old_mode": 33188,
      "old_path": "bfd/elfxx-aarch64.h",
      "new_id": "4852d33be3e5b6eb006b527a88b344070868b4ee",
      "new_mode": 33188,
      "new_path": "bfd/elfxx-aarch64.h"
    },
    {
      "type": "modify",
      "old_id": "0f8dc1b9716ed5c0ba13ececfc012ed59f8ba270",
      "old_mode": 33188,
      "old_path": "binutils/readelf.c",
      "new_id": "f905a10b194de19537dff1c436890e1cefe72e30",
      "new_mode": 33188,
      "new_path": "binutils/readelf.c"
    },
    {
      "type": "modify",
      "old_id": "c9920e7731a7a4c23cb620310053da90a8619b66",
      "old_mode": 33188,
      "old_path": "include/elf/common.h",
      "new_id": "c4eb33bf3082aaa90e02daea0266f3f54bbf6526",
      "new_mode": 33188,
      "new_path": "include/elf/common.h"
    },
    {
      "type": "modify",
      "old_id": "aa2859d4f739e7b38a2d6d2fe7fd8b0e6048bdc6",
      "old_mode": 33188,
      "old_path": "ld/emultempl/aarch64elf.em",
      "new_id": "ba536b0e379b41c5a24f677c4e1610a0c89680d0",
      "new_mode": 33188,
      "new_path": "ld/emultempl/aarch64elf.em"
    },
    {
      "type": "modify",
      "old_id": "c7d97f3ced99cc5b8da8182e31a78bb77778499c",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/aarch64-elf.exp",
      "new_id": "d5a208f67685b93bf698de5b7a2e0e047875ae73",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/aarch64-elf.exp"
    },
    {
      "type": "modify",
      "old_id": "59fa695165aa2fff603c2d4156c284bf08e2c072",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/property-bti-pac1.d",
      "new_id": "c28a0cbf850f4dee288901c84047ba3c55611ea7",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-bti-pac1.d"
    },
    {
      "type": "modify",
      "old_id": "414c9277f1dabc5fdc08b8b71716c44ea8bc8343",
      "old_mode": 33188,
      "old_path": "ld/testsuite/ld-aarch64/property-bti-pac1.s",
      "new_id": "42156917d587491fafe6de575669166c7c9459be",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-bti-pac1.s"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bc7e66e89338a94ef2bfe68bb20671e896404e93",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs.s"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c724ac56ca3f612ad2b109d465918990fcfee8f8",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs1.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3a2c992f97407ba6a76e96eae2e6f154be557fff",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs10.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "094b9be25826eed8f0d2548f90da439f3bc42665",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs11.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "355544775f3f14de986861234042477d0a548ee3",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs12.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c6543ba168c9982929268627a897546a9b950201",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs13.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1c612b5c9bd21adc06fded0645e9fb1dc2c93c07",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs14.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7e46e8eae2fe2cdde7aee6b501e0709d8c9dc1c4",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs15.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c20cbe531be7479962e8c5460d02b74a139c83d4",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs16.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2ee3f1037012bcb489c57b451df0eaae5b8dc8f0",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs17.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6c45d77c179191cf2082bc0d27c70d41ba4dacf2",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs18.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "588af48859baf3f14f13cf6a2cfa2386d4f31dc4",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs19.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ed545a180b30f4c11192da294d13fb883d24fb85",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs2.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6db7d8396c8668e66370fe456f13d47175da9147",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs2.s"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "779e845f68076690bc1ecedd7f3fef2726818c93",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs20.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dbfb5ec0264b6fb702b056ce16a328d36d73d008",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs21.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dd92399fc4f4677072c167b1a4fea0a6725e14cb",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs22.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0ea2d7ed79ca878effbed761d95d170ff69bcdd7",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs3.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0669d64b530eb4f1612ed7f84c3be450c7621c93",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs4.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "df8643a9d1813a87496699a528bf80e6f537b273",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs5.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3646e8a58ff5d5f00fb3b3a2f7bce0d23294b930",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs6.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ba58fe24ad235e147f1742af1ec2932b2ad7c601",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs7.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f442b71aee3b02d120dc25ef3edfb85c182bd5d4",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs8.d"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "82b93ec08504f720e06627cd6fac56afc67be6f5",
      "new_mode": 33188,
      "new_path": "ld/testsuite/ld-aarch64/property-gcs9.d"
    }
  ]
}
