From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1944) id 98934384770C; Wed, 10 Apr 2024 10:49:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 98934384770C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1712746144; bh=BKAaAPdbNaS3Wx86NfPnaLdYdG12vLrPu2/ZRbzhn6A=; h=From:To:Subject:Date:From; b=ov8aFnCWENBINVIrUEDP0Y9EWgehKCSWox1DB7fNNWPJdUGJF1DKxKx/udbSq1+6x uklIv861uTGN1Z0VCLBP7zrnAyxk5hT0jWfxwOgz0xE1IH694yziy84HNaEVP7XQ3c TFWpUikoDL+pC/i3vrzNqbEZvU7e6mLKgpRz1Ahg= 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: 2185dc7cdb6d536e4d9a49a77c552e58041cb0bc X-Git-Newrev: 99a291c0313e8e839c3ffd1fdc5132b4d6462968 Message-Id: <20240410104904.98934384770C@sourceware.org> Date: Wed, 10 Apr 2024 10:49:04 +0000 (GMT) List-Id: https://gcc.gnu.org/g:99a291c0313e8e839c3ffd1fdc5132b4d6462968 commit 99a291c0313e8e839c3ffd1fdc5132b4d6462968 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 73969721906..0119cfdd67b 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -28962,6 +28962,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 () { @@ -28974,6 +28975,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. */ @@ -29005,6 +29009,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