diff mbox series

[v2,3/3] i386: Fail if configured with --enable-cet

Message ID 20240105163640.1205560-4-adhemerval.zanella@linaro.org
State Superseded
Headers show
Series x86: Move CET infrastructure to x86_64 | expand

Commit Message

Adhemerval Zanella Netto Jan. 5, 2024, 4:36 p.m. UTC
Since it is only supported for x86_64.

Checked on i686-linux-gnu.
---
 INSTALL                   | 3 +--
 NEWS                      | 4 ++--
 manual/install.texi       | 3 +--
 sysdeps/i386/configure    | 8 ++++----
 sysdeps/i386/configure.ac | 7 ++++---
 5 files changed, 12 insertions(+), 13 deletions(-)

Comments

H.J. Lu Jan. 6, 2024, 2:32 p.m. UTC | #1
On Fri, Jan 5, 2024 at 8:36 AM Adhemerval Zanella
<adhemerval.zanella@linaro.org> wrote:
>
> Since it is only supported for x86_64.
>
> Checked on i686-linux-gnu.
> ---
>  INSTALL                   | 3 +--
>  NEWS                      | 4 ++--
>  manual/install.texi       | 3 +--
>  sysdeps/i386/configure    | 8 ++++----
>  sysdeps/i386/configure.ac | 7 ++++---
>  5 files changed, 12 insertions(+), 13 deletions(-)
>
> diff --git a/INSTALL b/INSTALL
> index be3697c62f..f194f14ec2 100644
> --- a/INSTALL
> +++ b/INSTALL
> @@ -147,8 +147,7 @@ if ‘CFLAGS’ is specified it must enable optimization.  For example:
>       ‘--enable-cet=permissive’, CET is disabled when dlopening a non CET
>       enabled shared library in CET enabled application.
>
> -     NOTE: ‘--enable-cet’ has been tested for x86_64 and x32 on non-CET
> -     and CET processors.
> +     NOTE: ‘--enable-cet’ is only supported on x86_64 and x32.
>
>  ‘--enable-memory-tagging’
>       Enable memory tagging support if the architecture supports it.
> diff --git a/NEWS b/NEWS
> index 17110e7b88..d75798a15b 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -9,8 +9,8 @@ Version 2.39
>
>  Major new features:
>
> -* Sync with Linux kernel 6.6 shadow stack interface.  Since only x86-64
> -  is supported, --enable-cet is ignored for i386.
> +* Sync with Linux kernel 6.6 shadow stack interface.  The --enable-cet
> +  configure option in only supported on x86-64.
>
>  * struct statvfs now has an f_type member, equal to the f_type statfs member;
>    on the Hurd this was always available under a reserved name,
> diff --git a/manual/install.texi b/manual/install.texi
> index f752f6489d..ccfa16fde3 100644
> --- a/manual/install.texi
> +++ b/manual/install.texi
> @@ -175,8 +175,7 @@ enabled shared library in CET enabled application.  With
>  @option{--enable-cet=permissive}, CET is disabled when dlopening a
>  non CET enabled shared library in CET enabled application.
>
> -NOTE: @option{--enable-cet} has been tested for x86_64 and x32
> -on non-CET and CET processors.
> +NOTE: @option{--enable-cet} is only supported on x86_64 and x32.
>
>  @item --enable-memory-tagging
>  Enable memory tagging support if the architecture supports it.  When
> diff --git a/sysdeps/i386/configure b/sysdeps/i386/configure
> index cd63d314fa..84656cef6e 100644
> --- a/sysdeps/i386/configure
> +++ b/sysdeps/i386/configure
> @@ -1,10 +1,10 @@
>  # This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
>   # Local configure fragment for sysdeps/i386.
>
> -# CET is only supported for x86-64.  Set enable-cet to "no" to allow
> -# "ifneq ($(enable-cet),no)" in x86 Makefiles.
> -config_vars="$config_vars
> -enable-cet = "no""
> +# CET is only supported for x86-64.
> +if test $enable_cet != no; then
> +  as_fn_error $? "\"CET is only supported on x86_64 or x32\"" "$LINENO" 5
> +fi
>
>  # We no longer support i386 since it lacks the atomic instructions
>  # required to implement NPTL threading.
> diff --git a/sysdeps/i386/configure.ac b/sysdeps/i386/configure.ac
> index b7d9436557..7f68e6210a 100644
> --- a/sysdeps/i386/configure.ac
> +++ b/sysdeps/i386/configure.ac
> @@ -1,9 +1,10 @@
>  GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
>  # Local configure fragment for sysdeps/i386.
>
> -# CET is only supported for x86-64.  Set enable-cet to "no" to allow
> -# "ifneq ($(enable-cet),no)" in x86 Makefiles.
> -LIBC_CONFIG_VAR([enable-cet], ["no"])
> +# CET is only supported for x86-64.
> +if test $enable_cet != no; then
> +  AC_MSG_ERROR(["CET is only supported on x86_64 or x32"])
> +fi
>
>  # We no longer support i386 since it lacks the atomic instructions
>  # required to implement NPTL threading.
> --
> 2.34.1
>

LGTM.

Thanks.
diff mbox series

Patch

diff --git a/INSTALL b/INSTALL
index be3697c62f..f194f14ec2 100644
--- a/INSTALL
+++ b/INSTALL
@@ -147,8 +147,7 @@  if ‘CFLAGS’ is specified it must enable optimization.  For example:
      ‘--enable-cet=permissive’, CET is disabled when dlopening a non CET
      enabled shared library in CET enabled application.
 
-     NOTE: ‘--enable-cet’ has been tested for x86_64 and x32 on non-CET
-     and CET processors.
+     NOTE: ‘--enable-cet’ is only supported on x86_64 and x32.
 
 ‘--enable-memory-tagging’
      Enable memory tagging support if the architecture supports it.
diff --git a/NEWS b/NEWS
index 17110e7b88..d75798a15b 100644
--- a/NEWS
+++ b/NEWS
@@ -9,8 +9,8 @@  Version 2.39
 
 Major new features:
 
-* Sync with Linux kernel 6.6 shadow stack interface.  Since only x86-64
-  is supported, --enable-cet is ignored for i386.
+* Sync with Linux kernel 6.6 shadow stack interface.  The --enable-cet
+  configure option in only supported on x86-64.
 
 * struct statvfs now has an f_type member, equal to the f_type statfs member;
   on the Hurd this was always available under a reserved name,
diff --git a/manual/install.texi b/manual/install.texi
index f752f6489d..ccfa16fde3 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -175,8 +175,7 @@  enabled shared library in CET enabled application.  With
 @option{--enable-cet=permissive}, CET is disabled when dlopening a
 non CET enabled shared library in CET enabled application.
 
-NOTE: @option{--enable-cet} has been tested for x86_64 and x32
-on non-CET and CET processors.
+NOTE: @option{--enable-cet} is only supported on x86_64 and x32.
 
 @item --enable-memory-tagging
 Enable memory tagging support if the architecture supports it.  When
diff --git a/sysdeps/i386/configure b/sysdeps/i386/configure
index cd63d314fa..84656cef6e 100644
--- a/sysdeps/i386/configure
+++ b/sysdeps/i386/configure
@@ -1,10 +1,10 @@ 
 # This file is generated from configure.ac by Autoconf.  DO NOT EDIT!
  # Local configure fragment for sysdeps/i386.
 
-# CET is only supported for x86-64.  Set enable-cet to "no" to allow
-# "ifneq ($(enable-cet),no)" in x86 Makefiles.
-config_vars="$config_vars
-enable-cet = "no""
+# CET is only supported for x86-64.
+if test $enable_cet != no; then
+  as_fn_error $? "\"CET is only supported on x86_64 or x32\"" "$LINENO" 5
+fi
 
 # We no longer support i386 since it lacks the atomic instructions
 # required to implement NPTL threading.
diff --git a/sysdeps/i386/configure.ac b/sysdeps/i386/configure.ac
index b7d9436557..7f68e6210a 100644
--- a/sysdeps/i386/configure.ac
+++ b/sysdeps/i386/configure.ac
@@ -1,9 +1,10 @@ 
 GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
 # Local configure fragment for sysdeps/i386.
 
-# CET is only supported for x86-64.  Set enable-cet to "no" to allow
-# "ifneq ($(enable-cet),no)" in x86 Makefiles.
-LIBC_CONFIG_VAR([enable-cet], ["no"])
+# CET is only supported for x86-64.
+if test $enable_cet != no; then
+  AC_MSG_ERROR(["CET is only supported on x86_64 or x32"])
+fi
 
 # We no longer support i386 since it lacks the atomic instructions
 # required to implement NPTL threading.