[v3,3/3] i386: Fail if configured with --enable-cet
Checks
Context |
Check |
Description |
redhat-pt-bot/TryBot-apply_patch |
success
|
Patch applied to master at the time it was sent
|
redhat-pt-bot/TryBot-32bit |
success
|
Build for i686
|
linaro-tcwg-bot/tcwg_glibc_build--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_glibc_build--master-aarch64 |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_glibc_check--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_glibc_check--master-aarch64 |
success
|
Testing passed
|
Commit Message
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
On Mon, Jan 8, 2024 at 4:50 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.
@@ -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.
@@ -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,
@@ -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
@@ -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.
@@ -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.