This is the mail archive of the
libc-hacker@sourceware.cygnus.com
mailing list for the glibc project.
Re: [linux-ppc] Re: Problem compileing glibc-2.0.94
- To: lockwood@metrowerks.com
- Subject: Re: [linux-ppc] Re: Problem compileing glibc-2.0.94
- From: Zack Weinberg <zack@rabi.phys.columbia.edu>
- Date: Tue, 16 Jun 1998 16:56:28 -0400
- cc: Kaoru Fukui <k_fukui@highway.ne.jp>, libc-alpha@cygnus.com, linux-ppc@meetpoint.mcu.motsps.com
On Tue, 16 Jun 1998 15:12:01 -0400, Mike Lockwood wrote:
>I am also having trouble building glibc 2.0.94 for PowerPC. I am
>running the 2/98 linuxppc with the 061098 2.1.24 kernel. I got egcs
>1.0.3a from the Cygnus website, built it, and used this egcs to build
>glibc 2.0.94.
>
>When I tried to build glibc, I got the following error. Does anyone
[...]
>../sysdeps/generic/glob.c: In function `glob':
>../sysdeps/generic/glob.c:795: warning: `new' might be used
>uninitialized in this function
>../sysdeps/generic/glob.c:801: warning: `__dest' might be used
>uninitialized in this function
>../sysdeps/generic/glob.c:813: internal error--unrecognizable insn:
>(insn 2776 2773 2779 (set (reg:SI 716)
> (unspec[
> (minus:SI (label_ref:SI 2115)
> (label_ref:SI 2420))
> (reg:SI 750)
> ] 8)) -1 (nil)
> (expr_list:REG_EQUAL (const:SI (minus:SI (label_ref:SI 2115)
> (label_ref:SI 2420)))
> (expr_list:REG_LABEL (code_label 2115 2114 2801 325 "")
> (nil))))
>gcc: Internal compiler error: program cc1 got fatal signal 6
"Internal error--unrecognizable insn" always means a bug in gcc. You
should report this to the egcs people (egcs-bugs@cygnus.com). glob.c
is pretty awful to dig through, so you need to cut it down a bit
first.
Make printed a long command starting with
`gcc ../sysdeps/generic/glob.c -c -O2 -Wall' right before the error
messages. Issue that command from the posix subdir of the source tree,
replacing -c with -E and the `-o /some/path/posix/glob.o' at the very
end with `-o glob.i'. That will run the file through the preprocessor.
Edit glob.i; remove everything after the glob() function, and as much
junk as possible before it. You need to leave in structs, typedefs,
prototypes, and variable definitions used in glob(); everything else
can go. Then try to compile that file. Use the same set of switches
that were used the first time, minus -I, -D, and -include options, and
add -v -Q. It should blow up the same way; if it doesn't, you took
something out that you shouldn't have. Mail the output and the .i
file to egcs-bugs.
If you just want to get a working system I'd stick to 2.0.7 for the
time being. 2.0.9x are alpha test releases, and may not work very
well. There had better not be binary RPMs out there -- we don't want
people thinking they can blindly rpm -Uvh an alpha libc and have it
work.
zw