Mike Frysinger <vap...@gentoo.org> writes: > Building newer libiberty for s390x targets fails with relocation errors: > libiberty/pic/libiberty.a(hashtab.o): In function 'htab_create': > libiberty/hashtab.c:408:(.text+0x5e4): relocation truncated to fit: > R_390_GOT12 against symbol 'xcalloc' defined in .text section in > libiberty/pic/libiberty.a(xmalloc.o) > libiberty/pic/libiberty.a(hashtab.o): In function 'htab_try_create': > libiberty/hashtab.c:414:(.text+0x61c): relocation truncated to fit: > R_390_GOT12 against symbol 'calloc@@GLIBC_2.2' defined in .text > section in /lib/libc.so.6 > collect2: ld returned 1 exit status > > Building with larger GOT (-fPIC rather than -fpic) fixes this. > > CC: Aurelien Jarno <aurel...@aurel32.net> > CC: Martin Schwidefsky <schwidef...@de.ibm.com> > Signed-off-by: Mike Frysinger <vap...@gentoo.org> > > config/: > 2011-12-06 Mike Frysinger <vap...@gentoo.org> > > * picflag.m4 (_GCC_PICFLAG): Set $1 to -fPIC for s390x*-*-*. > > gcc/: > libada/: > libgcc/: > libiberty/: > 2011-12-06 Mike Frysinger <vap...@gentoo.org> > > * configure: Regenerate. > --- > config/picflag.m4 | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/config/picflag.m4 b/config/picflag.m4 > index f6f1b44..db2ce0f 100644 > --- a/config/picflag.m4 > +++ b/config/picflag.m4 > @@ -51,6 +51,9 @@ case "${$2}" in > m68k-*-*) > $1=-fpic > ;; > + s390x*-*-*) > + $1=-fpic > + ;;
This doesn't match the ChangeLog/description, and certainly needs an explanation. > s390*-*-*) > $1=-fpic > ;; Perhaps it's better to remove both s390* cases and use the -fPIC default everywhere, as does libtool. picflag.m4 is supposed to be usable everywhere. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University