[PATCH] Using -fPIC for libiberty on s390x
Martin Schwidefsky
schwidefsky@de.ibm.com
Mon Dec 5 08:47:00 GMT 2011
On Mon, 5 Dec 2011 02:02:10 -0500
Mike Frysinger <vapier@gentoo.org> wrote:
> On Saturday 23 July 2011 06:51:53 Aurelien Jarno wrote:
> > Building binutils on s390x leads to relocation issues:
> > | /home/aurel32/binutils/bfd/../libiberty/pic/libiberty.a(hashtab.o): In
> > | function `htab_create':
> > | /home/aurel32/binutils/libiberty/../../libiberty/hashtab.c:408:(.text+0x
> > | 5e4): relocation truncated to fit: R_390_GOT12 against symbol `xcalloc'
> > | defined in .text section in
> > | /home/aurel32/binutils/bfd/../libiberty/pic/libiberty.a(xmalloc.o)
> > |
> > | /home/aurel32/binutils/bfd/../libiberty/pic/libiberty.a(hashtab.o): In
> function `htab_try_create':
> > | /home/aurel32/binutils/libiberty/../../libiberty/hashtab.c:414:(.text+0x6
> > | 1c): 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
> >
> > Using -fPIC instead of -fpic there fixes the issue.
> >
> > 2011-07-23 Aurelien Jarno <aurelien@aurel32.net>
> >
> > * configure.ac: Use -fPIC instead of -fpic on s390x.
> >
> > --- a/libiberty/configure.ac
> > +++ b/libiberty/configure.ac
> > @@ -216,6 +216,7 @@
> > *-fpic* ) PICFLAG=-fpic ;;
> > * ) PICFLAG=-fPIC ;;
> > esac ;;
> > + s390x*-*-*) PICFLAG=-fPIC ;;
> > s390*-*-*) PICFLAG=-fpic ;;
> > sh*-*-*) PICFLAG=-fPIC ;;
> > esac
>
> i've run into this issue on Gentoo systems and binutils-2.22. but now with
> all the pic code being unified with gcc, we need to do:
>
> --- a/config/picflag.m4
> +++ b/config/picflag.m4
> @@ -51,6 +51,9 @@ case "${$2}" in
> m68k-*-*)
> $1=-fpic
> ;;
> + s390x*-*-*)
> + $1=-fPIC
> + ;;
> s390*-*-*)
> $1=-fpic
> ;;
Whenever you see a R_390_GOT12 relocation truncated to fit, the correct solution
is to switch from -fpic to -fPIC. I assume that the picflag.m4 replace the old
configure.ac solution, no?
--
blue skies,
Martin.
"Reality continues to ruin my life." - Calvin.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20111205/baa7ad61/attachment.sig>
More information about the Binutils
mailing list