This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

re: egcs prelease 1.1.2, Linux Alpha 2.2.1, gcc-2.1


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




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]