Message ID | 87v9t4hho0.fsf@oldenburg2.str.redhat.com |
---|---|
State | New |
Headers | show |
Series | glibc/sparc: Assume GOTDATA support in the toolchain | expand |
On 04/10/2019 08:30, Florian Weimer wrote: > Dave, > > I believe this configure check is no longer necessary. We require > binutils 2.25 or later and GCC 6.2 or later for building glibc, and > binutils and GCC support are older than that. The only possible > exception is if someone managed to build GCC 6.2 with an older binutils > without GOTDATA support, but I don't think that happens in practice. It would require also to have GCC built with an outdate binutils, but either configure it or glibc build to use a newer one. Also R_SPARC_GOTDATA_* support seemed to be added by 739f7f82bed (binutils 2.19), which is quite old. > > HAVE_GCC_GOTDATA has apparently never been used. > > The sparc targets in build-many-glibcs.py still build with this change. > > Thanks, > Florian > > 2019-10-04 Florian Weimer <fweimer@redhat.com> > > * config.h.in (HAVE_GCC_GOTDATA): Remove. > * sysdeps/sparc/configure.ac: Remove checks for HAVE_GCC_GOTDATA > and PI_STATIC_AND_HIDDEN. Always define PI_STATIC_AND_HIDDEN. > * sysdeps/sparc/configure: Regenerate. LGTM. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> > > diff --git a/config.h.in b/config.h.in > index 824dfe8d8c..dea43df438 100644 > --- a/config.h.in > +++ b/config.h.in > @@ -47,9 +47,6 @@ > #undef STACK_PROTECTOR_LEVEL > #endif > > -/* Defined on SPARC if GCC emits GOTDATA relocations. */ > -#undef HAVE_GCC_GOTDATA > - > /* Define if the linker supports the -z combreloc option. */ > #undef HAVE_Z_COMBRELOC > Ok. > diff --git a/sysdeps/sparc/configure b/sysdeps/sparc/configure > index bc6ac14e9f..491b00f0dc 100644 > --- a/sysdeps/sparc/configure > +++ b/sysdeps/sparc/configure > @@ -1,41 +1,4 @@ > # This file is generated from configure.ac by Autoconf. DO NOT EDIT! > # Local configure fragment for sysdeps/sparc. > > -# Check for a GCC emitting GOTDATA relocations. > -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sparc gcc GOTDATA reloc support" >&5 > -$as_echo_n "checking for sparc gcc GOTDATA reloc support... " >&6; } > -if ${libc_cv_sparc_gcc_gotdata+:} false; then : > - $as_echo_n "(cached) " >&6 > -else > - cat > conftest.c <<\EOF > -int data; > -int foo(void) > -{ > - return data; > -} > -EOF > -libc_cv_sparc_gcc_gotdata=no > -if { ac_try='${CC-cc} -S $CFLAGS -O2 -fPIC conftest.c 1>&5' > - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 > - (eval $ac_try) 2>&5 > - ac_status=$? > - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 > - test $ac_status = 0; }; }; then > - if grep -q 'gdop_hix22' conftest.s \ > - && grep -q 'gdop_lox10' conftest.s; then > - libc_cv_sparc_gcc_gotdata=yes > - fi > -fi > -rm -f conftest* > -fi > -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_sparc_gcc_gotdata" >&5 > -$as_echo "$libc_cv_sparc_gcc_gotdata" >&6; } > -if test $libc_cv_sparc_gcc_gotdata = yes; then > - $as_echo "#define HAVE_GCC_GOTDATA 1" >>confdefs.h > - > -fi > - > -if test $libc_cv_sparc_gcc_gotdata = yes; then > - $as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h > - > -fi > +$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h > diff --git a/sysdeps/sparc/configure.ac b/sysdeps/sparc/configure.ac > index 43ad541464..5cdc0a984c 100644 > --- a/sysdeps/sparc/configure.ac > +++ b/sysdeps/sparc/configure.ac > @@ -1,30 +1,4 @@ > GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. > # Local configure fragment for sysdeps/sparc. > > -# Check for a GCC emitting GOTDATA relocations. > -AC_CACHE_CHECK(for sparc gcc GOTDATA reloc support, libc_cv_sparc_gcc_gotdata, [dnl > -changequote(,)dnl > -cat > conftest.c <<\EOF > -int data; > -int foo(void) > -{ > - return data; > -} > -EOF > -changequote([,])dnl > -dnl > -libc_cv_sparc_gcc_gotdata=no > -if AC_TRY_COMMAND(${CC-cc} -S $CFLAGS -O2 -fPIC conftest.c 1>&AS_MESSAGE_LOG_FD); then > - if grep -q 'gdop_hix22' conftest.s \ > - && grep -q 'gdop_lox10' conftest.s; then > - libc_cv_sparc_gcc_gotdata=yes > - fi > -fi > -rm -f conftest*]) > -if test $libc_cv_sparc_gcc_gotdata = yes; then > - AC_DEFINE(HAVE_GCC_GOTDATA) > -fi > - > -if test $libc_cv_sparc_gcc_gotdata = yes; then > - AC_DEFINE(PI_STATIC_AND_HIDDEN) > -fi > +AC_DEFINE(PI_STATIC_AND_HIDDEN) > Ok.
diff --git a/config.h.in b/config.h.in index 824dfe8d8c..dea43df438 100644 --- a/config.h.in +++ b/config.h.in @@ -47,9 +47,6 @@ #undef STACK_PROTECTOR_LEVEL #endif -/* Defined on SPARC if GCC emits GOTDATA relocations. */ -#undef HAVE_GCC_GOTDATA - /* Define if the linker supports the -z combreloc option. */ #undef HAVE_Z_COMBRELOC diff --git a/sysdeps/sparc/configure b/sysdeps/sparc/configure index bc6ac14e9f..491b00f0dc 100644 --- a/sysdeps/sparc/configure +++ b/sysdeps/sparc/configure @@ -1,41 +1,4 @@ # This file is generated from configure.ac by Autoconf. DO NOT EDIT! # Local configure fragment for sysdeps/sparc. -# Check for a GCC emitting GOTDATA relocations. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sparc gcc GOTDATA reloc support" >&5 -$as_echo_n "checking for sparc gcc GOTDATA reloc support... " >&6; } -if ${libc_cv_sparc_gcc_gotdata+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat > conftest.c <<\EOF -int data; -int foo(void) -{ - return data; -} -EOF -libc_cv_sparc_gcc_gotdata=no -if { ac_try='${CC-cc} -S $CFLAGS -O2 -fPIC conftest.c 1>&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 - (eval $ac_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - if grep -q 'gdop_hix22' conftest.s \ - && grep -q 'gdop_lox10' conftest.s; then - libc_cv_sparc_gcc_gotdata=yes - fi -fi -rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_sparc_gcc_gotdata" >&5 -$as_echo "$libc_cv_sparc_gcc_gotdata" >&6; } -if test $libc_cv_sparc_gcc_gotdata = yes; then - $as_echo "#define HAVE_GCC_GOTDATA 1" >>confdefs.h - -fi - -if test $libc_cv_sparc_gcc_gotdata = yes; then - $as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h - -fi +$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h diff --git a/sysdeps/sparc/configure.ac b/sysdeps/sparc/configure.ac index 43ad541464..5cdc0a984c 100644 --- a/sysdeps/sparc/configure.ac +++ b/sysdeps/sparc/configure.ac @@ -1,30 +1,4 @@ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. # Local configure fragment for sysdeps/sparc. -# Check for a GCC emitting GOTDATA relocations. -AC_CACHE_CHECK(for sparc gcc GOTDATA reloc support, libc_cv_sparc_gcc_gotdata, [dnl -changequote(,)dnl -cat > conftest.c <<\EOF -int data; -int foo(void) -{ - return data; -} -EOF -changequote([,])dnl -dnl -libc_cv_sparc_gcc_gotdata=no -if AC_TRY_COMMAND(${CC-cc} -S $CFLAGS -O2 -fPIC conftest.c 1>&AS_MESSAGE_LOG_FD); then - if grep -q 'gdop_hix22' conftest.s \ - && grep -q 'gdop_lox10' conftest.s; then - libc_cv_sparc_gcc_gotdata=yes - fi -fi -rm -f conftest*]) -if test $libc_cv_sparc_gcc_gotdata = yes; then - AC_DEFINE(HAVE_GCC_GOTDATA) -fi - -if test $libc_cv_sparc_gcc_gotdata = yes; then - AC_DEFINE(PI_STATIC_AND_HIDDEN) -fi +AC_DEFINE(PI_STATIC_AND_HIDDEN)