unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] glibc/sparc: Assume GOTDATA support in the toolchain
@ 2019-10-04 11:30 Florian Weimer
  2019-10-08 18:22 ` Adhemerval Zanella
  0 siblings, 1 reply; 2+ messages in thread
From: Florian Weimer @ 2019-10-04 11:30 UTC (permalink / raw
  To: David S. Miller; +Cc: libc-alpha

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.

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.

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)

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] glibc/sparc: Assume GOTDATA support in the toolchain
  2019-10-04 11:30 [PATCH] glibc/sparc: Assume GOTDATA support in the toolchain Florian Weimer
@ 2019-10-08 18:22 ` Adhemerval Zanella
  0 siblings, 0 replies; 2+ messages in thread
From: Adhemerval Zanella @ 2019-10-08 18:22 UTC (permalink / raw
  To: libc-alpha



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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-10-08 18:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-04 11:30 [PATCH] glibc/sparc: Assume GOTDATA support in the toolchain Florian Weimer
2019-10-08 18:22 ` Adhemerval Zanella

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).