This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Possible different binutils version between GCC and GLIBC build
- From: Adhemerval Zanella <adhemerval dot zanella at linaro dot org>
- To: GNU C Library <libc-alpha at sourceware dot org>
- Date: Wed, 29 Nov 2017 09:33:26 -0200
- Subject: Possible different binutils version between GCC and GLIBC build
- Authentication-results: sourceware.org; auth=none
Checking on sysdeps/sparc/configure.ac I noticed a possible cleanup
by removing HAVE_GCC_GOTDATA, which is not used anywhere in code.
However the libc_cv_sparc_gcc_gotdata is a little more tricker
because it relies on gcc support instead.
SPARC have support for GOTDATA since binutils 739f7f82be (binutils
2.19), however GCC will have support for gd{op,lo}_hix22 depending
of the used binutils on its build and as far I could check it does
not really imposes a minimum version, but rather it works with
features provided by the linker. So in theory we could have a gcc
configured with an older binutils without support for GOTDATA and
at same time build GLIBC with a newer one.
How should we proceed in this cases? The main driver is to try
cleanup the configure so we can assume PI_STATIC_AND_HIDDEN on
all architectures. SPARC support is conditional to GOTDATA
support and MIPS has a comment stating GCC has no support for it.
As a side note, is still true for MIPS? I noted for the very
example used on SPARC to check for GOTDATA support I noted a
recent MIPS GCC (gcc 6.2.1 / ld 2.27) does emits got relocations
to access local variables.