Skip site navigation (1)Skip section navigation (2)
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>