From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1944) id 2FAF6385E453; Wed, 14 Feb 2024 15:27:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2FAF6385E453 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1707924456; bh=Nol1p9HOIeudHUh9P5vECsjqgQ2IY2bXivw2KSXoBE8=; h=From:To:Subject:Date:From; b=r+c3StwIT70+EuZozMBAsvu04j0mL/oupNQsHKwGmshCzYBtS+768Y2IMJcAdx0B1 rZzl1GySjAr2OfwoI8vfDMoi236mqRLYVnjQ5jF5GhY2WNkojSZ3ZvCDSajxIi/ERq Rt4WRVV3f5MullU5aiL0gzel2o8h+kZ9Freh0uQE= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Szabolcs Nagy To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/vendors/ARM/heads/gcs)] aarch64: Emit GNU property NOTE for GCS X-Act-Checkin: gcc X-Git-Author: Szabolcs Nagy X-Git-Refname: refs/vendors/ARM/heads/gcs X-Git-Oldrev: 49b5b4f954449e307ab57c5e736f6f89dcb2c44b X-Git-Newrev: 0c8f137055d023144264b2eeb1b7ac69c9d793cd Message-Id: <20240214152736.2FAF6385E453@sourceware.org> Date: Wed, 14 Feb 2024 15:27:36 +0000 (GMT) List-Id: https://gcc.gnu.org/g:0c8f137055d023144264b2eeb1b7ac69c9d793cd commit 0c8f137055d023144264b2eeb1b7ac69c9d793cd Author: Szabolcs Nagy Date: Tue May 9 14:32:46 2023 +0100 aarch64: Emit GNU property NOTE for GCS TODO: relies on experimental binutils ABI, should use build attributes. gcc/ChangeLog: * config/aarch64/aarch64.cc (GNU_PROPERTY_AARCH64_FEATURE_1_GCS): Define. (aarch64_file_end_indicate_exec_stack): Set GCS property bit. Diff: --- gcc/config/aarch64/aarch64.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index 88847d710e0a..09374409fe07 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -28956,6 +28956,7 @@ aarch64_can_tag_addresses () #define GNU_PROPERTY_AARCH64_FEATURE_1_AND 0xc0000000 #define GNU_PROPERTY_AARCH64_FEATURE_1_BTI (1U << 0) #define GNU_PROPERTY_AARCH64_FEATURE_1_PAC (1U << 1) +#define GNU_PROPERTY_AARCH64_FEATURE_1_GCS (1U << 2) void aarch64_file_end_indicate_exec_stack () { @@ -28968,6 +28969,9 @@ aarch64_file_end_indicate_exec_stack () if (aarch_ra_sign_scope != AARCH_FUNCTION_NONE) feature_1_and |= GNU_PROPERTY_AARCH64_FEATURE_1_PAC; + if (aarch64_gcs_enabled ()) + feature_1_and |= GNU_PROPERTY_AARCH64_FEATURE_1_GCS; + if (feature_1_and) { /* Generate .note.gnu.property section. */ @@ -28999,6 +29003,7 @@ aarch64_file_end_indicate_exec_stack () assemble_align (POINTER_SIZE); } } +#undef GNU_PROPERTY_AARCH64_FEATURE_1_GCS #undef GNU_PROPERTY_AARCH64_FEATURE_1_PAC #undef GNU_PROPERTY_AARCH64_FEATURE_1_BTI #undef GNU_PROPERTY_AARCH64_FEATURE_1_AND