From mboxrd@z Thu Jan 1 00:00:00 1970 From: Geoffrey KEATING To: hjl@lucon.org (H.J. Lu) Cc: egcs@cygnus.com, libc-linux@gnu.org (GNU C Library) Subject: Re: -fpic on ppc with SVR4 ABI Date: Thu, 16 Oct 1997 21:51:00 -0000 Message-id: <199710170220.MAA23405@discus.anu.edu.au> References: X-SW-Source: 1997-10/msg00686.html > From: hjl@lucon.org (H.J. Lu) > Date: Thu, 16 Oct 1997 13:37:11 -0700 (PDT) > When I tried to compile glibc for powerpc using egcs, I got > > vfscanf.c: In function `_IO_vfscanf': > vfscanf.c:1166: internal error--unrecognizable insn: > (insn 26472 516 506 (set (reg:SI 8 r8) > (unspec[ > (symbol_ref:SI ("@__ctype_b")) > (mem:SI (plus:SI (reg:SI 31 r31) > (const_int 128))) > ] 8)) -1 (nil) > (nil)) > > when making stdio-common/vfscanf.os with -fpic. -fPIC is fine. > I was wondering if anyone had tried to use egcs to build shared > libraries on powerpc with -fpic and SVR4 ABI. > > BTW, I cannot find a small test case. The one I got is several > hundred lines. > > Thanks. I have a medium-sized test case somewhere; this particular bug is triggered by gcc putting the GOT register in memory, which the .md file can't cope with. I have a patch for egcs at < http://discus.anu.edu.au/~geoffk/egcs-geoffk.diff.gz >, which fixes this and many other bugs. I have another more extensive patch at home which fixes even more bugs, most notably a bug involving constant folding on switch statements. The first patch was sent to egcs-bugs and will eventually end up in the distribution; I'm still testing the second patch. I've been told that current binutils don't work either (I use my own extensively patched version which works fine), and there's a typo in glibc in sysdeps/powerpc/dl-machine.h ('finaladdr' should be 'finalvalue' or something). -- Geoff Keating