cross-building broken?
Hello! root:/usr/src $ make MACHINE_ARCH=alpha buildworld -- stage 4: building libraries -- cd /usr/src; MAKEOBJDIRPREFIX=/usr/obj/alpha COMPILER_PATH=/usr/obj/alpha/usr/src/i386/usr/libexec:/usr/obj/alpha/usr/src/i386/usr/bin LIBRARY_PATH=/usr/obj/alpha/usr/src/i386/usr/lib:/usr/obj/alpha/usr/src/i386/usr/lib OBJFORMAT_PATH=/usr/obj/alpha/usr/src/i386/usr/libexec PERL5LIB=/usr/obj/alpha/usr/src/i386/usr/libdata/perl/5.6.0 DESTDIR=/usr/obj/alpha/usr/src/i386 INSTALL="sh /usr/src/tools/install.sh" PATH=/usr/obj/alpha/usr/src/i386/usr/sbin:/usr/obj/alpha/usr/src/i386/usr/bin:/usr/obj/alpha/usr/src/i386/usr/games:/sbin:/bin:/usr/sbin:/usr/bin make -f Makefile.inc1 -DNOHTML -DNOINFO -DNOMAN -DNOFSCHG libraries cd /usr/src/lib/csu/alpha; make depend; make all; make install sh /usr/src/tools/install.sh -c -o root -g wheel -m 444 crt1.o /usr/obj/alpha/usr/src/i386/usr/lib/crt1.o sh /usr/src/tools/install.sh -c -o root -g wheel -m 444 crtbegin.o /usr/obj/alpha/usr/src/i386/usr/lib/crtbegin.o sh /usr/src/tools/install.sh -c -o root -g wheel -m 444 crtend.o /usr/obj/alpha/usr/src/i386/usr/lib/crtend.o sh /usr/src/tools/install.sh -c -o root -g wheel -m 444 gcrt1.o /usr/obj/alpha/usr/src/i386/usr/lib/gcrt1.o sh /usr/src/tools/install.sh -c -o root -g wheel -m 444 crtbegin.So /usr/obj/alpha/usr/src/i386/usr/lib/crtbeginS.o sh /usr/src/tools/install.sh -c -o root -g wheel -m 444 crtend.So /usr/obj/alpha/usr/src/i386/usr/lib/crtendS.o cd /usr/src/lib/libmd; make depend; make all; make install cc -O -pipe -I/usr/src/lib/libmd -I/usr/obj/alpha/usr/src/i386/usr/include -c /usr/src/lib/libmd/md2c.c -o md2c.o /usr/src/lib/libmd/md2c.c: In function `MD2Final': /usr/src/lib/libmd/md2c.c:167: internal error--unrecognizable insn: (insn 26 24 28 (set (reg:DI 79) (and:DI (plus:DI (reg/v:DI 69) (const_int 586478694938416944 [0x823974408239730])) (const_int -8 [0xfff8]))) -1 (insn_list 4 (nil)) (nil)) *** Error code 1 Stop in /usr/src/lib/libmd. *** Error code 1 Stop in /usr/src. *** Error code 1 Stop in /usr/src. *** Error code 1 Stop in /usr/src. That is from FreeBSD cichlids.cichlids.com 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Tue Jul 18 13:36:59 CEST 2000 [EMAIL PROTECTED]:/usr/obj/usr/src/sys/cichlids i386 Alex -- cat: /home/alex/.sig: No such file or directory To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message
Re: cross-building broken?
Alexander Langer wrote: cc -O -pipe -I/usr/src/lib/libmd -I/usr/obj/alpha/usr/src/i386/usr/include -c /usr/src/lib/libmd/md2c.c -o md2c.o /usr/src/lib/libmd/md2c.c: In function `MD2Final': /usr/src/lib/libmd/md2c.c:167: internal error--unrecognizable insn: (insn 26 24 28 (set (reg:DI 79) (and:DI (plus:DI (reg/v:DI 69) (const_int 586478694938416944 [0x823974408239730])) (const_int -8 [0xfff8]))) -1 (insn_list 4 (nil)) (nil)) This is a known problem; at least to me. We have this since the early days of cross-compiling. I have a patch on my side that worked with the previous gcc. I applied this patch with the new gcc and it still fails. I have to find the bug and send a patch to cygnus... If you're feeling lucky, you can download the patch I have on my webpage (http://people.freebsd.org/~marcel) and start from their. I suspect (or rather hope) it's as simple as providing some prototypes to get it to work again. That was how I fixed it before... Looking at the failure, I think it's just that (ie a lack of prototype causes gcc to assume an argument is int (which is 32-bits for us) and creates the call-site as such, but while compiling the function itself it creates a 64-bit integral for that argument)... HTH, -- Marcel Moolenaar mail: [EMAIL PROTECTED] / [EMAIL PROTECTED] tel: (408) 447-4222 To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message