This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Possible different binutils version between GCC and GLIBC build


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]