This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
re: egcs prelease 1.1.2, Linux Alpha 2.2.1, gcc-2.1
- To: egcs at egcs dot cygnus dot com
- Subject: re: egcs prelease 1.1.2, Linux Alpha 2.2.1, gcc-2.1
- From: Christian Iseli <chris at ludwig-alpha dot unil dot ch>
- Date: Fri, 19 Feb 1999 22:41:46 +0100
Hi folks,
I have installed the pre-release of egcs 1.1.2 on a Linux alpha box, running
kernel version 2.2.1 and glibc 2.1.
I have encountered an ICE when compiling this piece of code (ripped from Xaw3d):
struct x {
float top;
};
static void NotifyThumb (struct x *w)
{
register struct x *sbw = w;
float top = w->top;
if (w == 0) return;
if (LookAhead (w)) return;
XtCallCallbacks (w, ((char*)"test") , *(int **)&top);
XtCallCallbacks (w, ((char*)"test") , (int *)&top);
}
This is what I get:
Reading specs from /usr/lib/gcc-lib/alpha-redhat-linux/egcs-2.91.61/specs
gcc version egcs-2.91.61 19990216 (egcs-1.1.2 pre-release-1)
/usr/lib/gcc-lib/alpha-redhat-linux/egcs-2.91.61/cpp -lang-c -v -undef
-D__GNUC__=2 -D__GNUC_MINOR__=91 -Dlinux -Dunix -D_LONGLONG -D__alpha__
-D__ELF__ -D__linux__ -D__unix__ -D_LONGLONG -D__alpha__ -D__ELF__ -D__linux
-D__unix -Asystem(linux) -D__OPTIMIZE__ -D__LANGUAGE_C__ -D__LANGUAGE_C
-DLANGUAGE_C -Acpu(alpha) -Amachine(alpha) -D__alpha -D__alpha__
-D__alpha_ev4__ -Acpu(ev4) bug.c /tmp/ccH9ZRdm.i
GNU CPP version egcs-2.91.61 19990216 (egcs-1.1.2 pre-release-1) (Alpha GNU/Linux for ELF)
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/alpha-redhat-linux/include
/usr/lib/gcc-lib/alpha-redhat-linux/egcs-2.91.61/include
/usr/include
End of search list.
/usr/lib/gcc-lib/alpha-redhat-linux/egcs-2.91.61/cc1 /tmp/ccH9ZRdm.i -quiet
-dumpbase bug.c -O -version -o /tmp/ccc2cLcy.s
GNU C version egcs-2.91.61 19990216 (egcs-1.1.2 pre-release-1)
(alpha-redhat-linux) compiled by GNU C version egcs-2.91.61 19990216
(egcs-1.1.2 pre-release-1).
../../gcc/function.c:2392: Internal compiler error in function fixup_memory_subreg
BTW, sorry but my kernel and glibc were compiled using egcs 1.1.1. I did not
have time to try the pre-release in that respect. In fact, egcs 1.1.1 has the
same ICE, and that's what prompted me to try the pre-release in the first
place... ;-)
Another BTW, for people trying the new glibc-2.1 on a RedHat machine: the new
library will do strange things to the rpm command. After compiling and
installing the glibc-2.1 source rpm, trying 'rpm --rmsource SPEC/glibc.spec'
told me that the files have a bad owner/mode, or some such. So then I decided
to recompile rpm. Had to do it "by hand", 'cause rpm refused to do it (same
bad owner/mode). Recompiled, installed, and then Ayiiiee: rpm tells me that it
cannot open its database files. After some cold sweating moments, I came up
with the reason: the newly built rpm uses a newer version of DB. The slightly
tricky part is to convert the files to the new format... Here is what I did:
mkdir /tmp/lib
cp /lib/libdb1-2.1.so /tmp/lib/libdb.so.3
then, for each .rpm file in /var/lib/rpm, except for packages.rpm, do:
LD_LIBRARY_PATH=/tmp/lib db_dump185 -f temp <file>.rpm
db_load -f temp <file>.rpm.new
then, replace the old files with the new ones, and rpm should be happy again...
This last part was a bit offtopic I guess... oh well, hope this helps someone.
Cheers,
Christian