From c17044e509824e5ed3de94c85a7a0dd71cfd9cc1 Mon Sep 17 00:00:00 2001 From: Iain Buclaw Date: Tue, 25 Feb 2025 18:01:09 +0100 Subject: d/i386: Add CET TargetInfo key and predefined version [PR118654] Adds a new i386 d_target_info_spec entry to handle requests for `__traits(getTargetInfo, "CET")', and add predefined target version `GNU_CET' when the option `-fcf-protecton' is used. Both TargetInfo key and predefined version have been added to the D front-end documentation. In the library, `GNU_CET' replaces the existing use of the user-defined version flag `CET' when building libphobos. PR d/118654 gcc/ChangeLog: * config/i386/i386-d.cc (ix86_d_target_versions): Predefine GNU_CET. (ix86_d_handle_target_cf_protection): New. (ix86_d_register_target_info): Add 'CET' TargetInfo key. gcc/d/ChangeLog: * implement-d.texi: Document CET version and traits key. libphobos/ChangeLog: * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Remove CET_DFLAGS. * libdruntime/Makefile.am: Replace CET_DFLAGS with CET_FLAGS. * libdruntime/Makefile.in: Regenerate. * libdruntime/core/thread/fiber/package.d: Replace CET with GNU_CET. * src/Makefile.am: Replace CET_DFLAGS with CET_FLAGS. * src/Makefile.in: Regenerate. * testsuite/Makefile.in: Regenerate. * testsuite/testsuite_flags.in: Replace CET_DFLAGS with CET_FLAGS. gcc/testsuite/ChangeLog: * gdc.dg/target/i386/i386.exp: New test. * gdc.dg/target/i386/targetinfo_CET.d: New test. --- libphobos/configure.ac | 3 --- 1 file changed, 3 deletions(-) (limited to 'libphobos/configure.ac') diff --git a/libphobos/configure.ac b/libphobos/configure.ac index 92449fe..3b2ec2c 100644 --- a/libphobos/configure.ac +++ b/libphobos/configure.ac @@ -70,13 +70,10 @@ GCC_CET_FLAGS(CET_FLAGS) AC_SUBST(CET_FLAGS) # To ensure that runtime code for CET is compiled in, add in D version flags. AS_IF([test x$enable_cet = xyes], [ - CET_DFLAGS="$CET_FLAGS -fversion=CET" DCFG_ENABLE_CET=true ], [ - CET_DFLAGS= DCFG_ENABLE_CET=false ]) -AC_SUBST(CET_DFLAGS) AC_SUBST(DCFG_ENABLE_CET) # This should be inherited in the recursive make, but ensure it is defined. -- cgit v1.1