[PATCH] x86/configure.ac: Define PI_STATIC_AND_HIDDEN/SUPPORT_STATIC_PIE
H.J. Lu
hjl.tools@gmail.com
Mon Feb 14 14:44:15 GMT 2022
On Mon, Feb 7, 2022 at 2:11 PM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> Move PI_STATIC_AND_HIDDEN and SUPPORT_STATIC_PIE to
> sysdeps/x86/configure.ac.
> ---
> sysdeps/i386/configure | 6 ------
> sysdeps/i386/configure.ac | 7 -------
> sysdeps/x86/configure | 6 ++++++
> sysdeps/x86/configure.ac | 7 +++++++
> sysdeps/x86_64/configure | 6 ------
> sysdeps/x86_64/configure.ac | 7 -------
> 6 files changed, 13 insertions(+), 26 deletions(-)
>
> diff --git a/sysdeps/i386/configure b/sysdeps/i386/configure
> index ed46d53314..af50c5bfab 100644
> --- a/sysdeps/i386/configure
> +++ b/sysdeps/i386/configure
> @@ -83,13 +83,7 @@ $as_echo "$libc_cv_ld_static_pie" >&6; }
> fi
> fi
>
> -$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
> -
> -
> if test x"$multi_arch" != xno; then
> $as_echo "#define NO_HIDDEN_EXTERN_FUNC_IN_PIE 1" >>confdefs.h
>
> fi
> -
> -$as_echo "#define SUPPORT_STATIC_PIE 1" >>confdefs.h
> -
> diff --git a/sysdeps/i386/configure.ac b/sysdeps/i386/configure.ac
> index a6a0672835..234ef2454a 100644
> --- a/sysdeps/i386/configure.ac
> +++ b/sysdeps/i386/configure.ac
> @@ -53,15 +53,8 @@ rm -f conftest*])
> fi
> fi
>
> -dnl It is always possible to access static and hidden symbols in an
> -dnl position independent way.
> -AC_DEFINE(PI_STATIC_AND_HIDDEN)
> -
> dnl When multi-arch is enabled, all external functions must be called
> dnl via PIC PLT in PIE, which requires setting up EBX register.
> if test x"$multi_arch" != xno; then
> AC_DEFINE(NO_HIDDEN_EXTERN_FUNC_IN_PIE)
> fi
> -
> -dnl Static PIE is supported.
> -AC_DEFINE(SUPPORT_STATIC_PIE)
> diff --git a/sysdeps/x86/configure b/sysdeps/x86/configure
> index 7bdbfdc6dc..46d436fddf 100644
> --- a/sysdeps/x86/configure
> +++ b/sysdeps/x86/configure
> @@ -189,3 +189,9 @@ $as_echo "$libc_cv_have_x86_movbe" >&6; }
> fi
> config_vars="$config_vars
> enable-x86-isa-level = $libc_cv_include_x86_isa_level"
> +
> +$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
> +
> +
> +$as_echo "#define SUPPORT_STATIC_PIE 1" >>confdefs.h
> +
> diff --git a/sysdeps/x86/configure.ac b/sysdeps/x86/configure.ac
> index 10d5c2e0e5..918b636891 100644
> --- a/sysdeps/x86/configure.ac
> +++ b/sysdeps/x86/configure.ac
> @@ -127,3 +127,10 @@ if test $libc_cv_include_x86_isa_level = yes; then
> fi
> fi
> LIBC_CONFIG_VAR([enable-x86-isa-level], [$libc_cv_include_x86_isa_level])
> +
> +dnl It is always possible to access static and hidden symbols in an
> +dnl position independent way.
> +AC_DEFINE(PI_STATIC_AND_HIDDEN)
> +
> +dnl Static PIE is supported.
> +AC_DEFINE(SUPPORT_STATIC_PIE)
> diff --git a/sysdeps/x86_64/configure b/sysdeps/x86_64/configure
> index d4dd0aa7df..44b6055e55 100755
> --- a/sysdeps/x86_64/configure
> +++ b/sysdeps/x86_64/configure
> @@ -27,11 +27,5 @@ if test x"$build_mathvec" = xnotset; then
> build_mathvec=yes
> fi
>
> -$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h
> -
> -
> -$as_echo "#define SUPPORT_STATIC_PIE 1" >>confdefs.h
> -
> -
> test -n "$critic_missing" && as_fn_error $? "
> *** $critic_missing" "$LINENO" 5
> diff --git a/sysdeps/x86_64/configure.ac b/sysdeps/x86_64/configure.ac
> index c4c748c1d0..1215dcb1e4 100644
> --- a/sysdeps/x86_64/configure.ac
> +++ b/sysdeps/x86_64/configure.ac
> @@ -14,12 +14,5 @@ if test x"$build_mathvec" = xnotset; then
> build_mathvec=yes
> fi
>
> -dnl It is always possible to access static and hidden symbols in an
> -dnl position independent way.
> -AC_DEFINE(PI_STATIC_AND_HIDDEN)
> -
> -dnl Static PIE is supported.
> -AC_DEFINE(SUPPORT_STATIC_PIE)
> -
> test -n "$critic_missing" && AC_MSG_ERROR([
> *** $critic_missing])
> --
> 2.34.1
>
I am checking this patch.
--
H.J.
More information about the Libc-alpha
mailing list