This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: -fpic on ppc with SVR4 ABI
- To: hjl at lucon dot org (H.J. Lu)
- Subject: Re: -fpic on ppc with SVR4 ABI
- From: Geoffrey KEATING <geoffk at discus dot anu dot edu dot au>
- Date: Fri, 17 Oct 1997 12:20:52 +1000 (EST)
- CC: egcs at cygnus dot com, libc-linux at gnu dot org (GNU C Library)
> 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 <Geoff.Keating@anu.edu.au>