Date: Thu, 20 Jul 2000 09:09:24 -0700 From: Marcel Moolenaar <marcel@cup.hp.com> To: Alexander Langer <alex@big.endian.de> Cc: current@FreeBSD.ORG Subject: Re: cross-building broken? Message-ID: <39772434.6EFCC1D1@cup.hp.com> References: <20000720123808.A78907@cichlids.cichlids.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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 [0xfffffffffffffff8]))) -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: marcel@cup.hp.com / marcel@FreeBSD.org tel: (408) 447-4222 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?39772434.6EFCC1D1>