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
+       ;;
     s390*-*-*)
        $1=-fpic
        ;;
-- 
1.7.6.1

Reply via email to