Date: Sat, 24 Nov 2001 11:57:35 +0000 (GMT) From: Doug Rabson <dfr@nlsystems.com> To: Peter Wemm <peter@wemm.org> Cc: <ia64@freebsd.org> Subject: Re: gcc's mode(TI) attribute Message-ID: <20011124115442.S6169-100000@salmon.nlsystems.com> In-Reply-To: <20011124072846.DE754380D@overcee.netplex.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 23 Nov 2001, Peter Wemm wrote: > I keep running into problems with this here: > > > This is when building libgcc2 for things _muldi3() etc. "mode TI not > supported on this architecture" etc. > I had been cheating and changing it to this: > typedef long long TItype; > typedef unsigned long long UTItype; > but I'm pretty sure that's wrong. > > I've also been noticing nasty things in other places that are > doing similar integer overflows. eg: gcc/final.c shifts a 64 bit > signed integer << 64, etc when trying to convert 'double' > constants to 128 bit data. Also: > ../../gcc/libgcc2.c: In function `__floattitf': > ../../gcc/libgcc2.c:1037: warning: right shift count >= width of type > ../../gcc/libgcc2.c:1040: warning: left shift count >= width of type > and so on. I suspect this is why the compiler is segfaulting and aborting > all over the place. > > Do I need to cross compile from a 64 bit platform to start with, eg: alpha? > Has anybody else run into this and solved it? I don't have a real solution. I just hacked off the ifdefs around the support for intTI_type_node and unsigned_intTI_type_node in the compiler which was enough to get libgcc.a to compile. I didn't look at the shift warnings at all. -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ia64" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011124115442.S6169-100000>