Re: [PATCH] sparc64: use unsigned long long for u64

Sam Ravnborg
2008-12-27T09:48:38Z

On Sat, Dec 27, 2008 at 01:37:12AM -0800, David Miller wrote:
> From: Sam Ravnborg <sam@ravnborg.org>
> Date: Sat, 27 Dec 2008 10:24:04 +0100
>
> > So it looks like my gcc does not promote:
> > ((tagval & 0x0fffffff00000000UL) >> 19UL) to unsigned long long int
> > but your gcc does?
> >
> > My gcc (build with Dan Kegel's crosstool):
> > $ /opt/crosstool/gcc-3.4.5-glibc-2.3.6/sparc64-unknown-linux-gnu/bin/sparc64-unknown-linux-gnu-gcc -v
> > Reading specs from /opt/crosstool/gcc-3.4.5-glibc-2.3.6/sparc64-unknown-linux-gnu/lib/gcc/sparc64-unknown-linux-gnu/3.4.5/specs
> > Configured with: /home/sam/devel/crosstool-0.43/build/sparc64-unknown-linux-gnu/gcc-3.4.5-glibc-2.3.6/gcc-3.4.5/configure --target=sparc64-unknown-linux-gnu --host=i686-host_pc-linux-gnu --prefix=/opt/crosstool/gcc-3.4.5-glibc-2.3.6/sparc64-unknown-linux-gnu --disable-multilib --with-cpu=ultrasparc3 --enable-cxx-flags=-mcpu=ultrasparc3 --with-headers=/opt/crosstool/gcc-3.4.5-glibc-2.3.6/sparc64-unknown-linux-gnu/sparc64-unknown-linux-gnu/include --with-local-prefix=/opt/crosstool/gcc-3.4.5-glibc-2.3.6/sparc64-unknown-linux-gnu/sparc64-unknown-linux-gnu --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-__cxa_atexit --enable-languages=c --enable-shared --enable-c99 --enable-long-long
> > Thread model: posix
> > gcc version 3.4.5
>
> I'm using a native gcc-4.1.3 here:
>
> gcc (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
>
> When you cross build 32-bit to 64-bit, a small but non-zero
> number of warning checks and optimizations are not performed
> and I think that is what you're hitting here.

OK.
I have ordered a used Sun Blade 100(*) that should show up
before new eve.
So when I have it and it is up and running I will redo this
patch set. That will likely take a few weeks though.

(*) Any distribution recommendations? I will only use it for
sparc kernel development so nothing fancy...

Sam