From patchwork Fri Oct 4 11:30:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 34826 Received: (qmail 118019 invoked by alias); 4 Oct 2019 11:30:36 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 117955 invoked by uid 89); 4 Oct 2019 11:30:28 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-18.4 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=sk:stack_p, 62, 6.2 X-HELO: mx1.redhat.com From: Florian Weimer To: David S. Miller Cc: libc-alpha@sourceware.org Subject: [PATCH] glibc/sparc: Assume GOTDATA support in the toolchain Date: Fri, 04 Oct 2019 13:30:23 +0200 Message-ID: <87v9t4hho0.fsf@oldenburg2.str.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) MIME-Version: 1.0 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 * 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. Reviewed-by: Adhemerval Zanella 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)