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