32-bit gcc help
Mike A. Harris
mharris at redhat.com
Wed Jul 7 05:22:04 UTC 2004
On Tue, 6 Jul 2004, Jiann-Ming Su wrote:
>Date: Tue, 6 Jul 2004 22:41:06 -0400 (EDT)
>From: Jiann-Ming Su <js290 at bellsouth.net>
>To: axp-list at redhat.com
>Content-Type: TEXT/PLAIN; charset=US-ASCII
>Reply-To: Linux and Red Hat on Alpha processors <axp-list at redhat.com>
>X-BeenThere: axp-list at redhat.com
>Subject: 32-bit gcc help
>
>I'm trying to compile a 32-bit program on my Alpha. The configure
>script is expecting 32-bit integers:
>
> checking "size of time_t"... "bad"
> configure: error: "one or more basic data types has an incompatible size: giving up"
>
>How do I force gcc to compile with 32-bit integers? I tried
>passing "-msmall-data" as part of the CFLAGS variable. Some
>architectures allow for a "-m32", but Alpha isn't one of them. Thanks
>for any tips.
On Alpha, the standard types are of the following sizes:
sizeof(char)=1
sizeof(short)=2
sizeof(int)=4
sizeof(long)=8
sizeof(long long)=8
The above is typical for the majority of 64bit platforms out
there (but not all). It looks to me from the above error
message, that the application you're trying to compile is not
compatible with a 64bit system and needs to be ported to be 64bit
clean.
If you were using AMD64 architecture, you could use -m32 to
compile 32bit x86 binaries, as the CPU can run both native 32bit
and 64bit code. ia64 can do similar with emulation, and ppc64
can run 32bit ppc binaries also. There never was a 32bit Alpha,
so it has no such capability.
I don't think there's any other option than to fix the
application to be 64bit clean, or to use a 32bit processor or an
alternative 64bit architecture which has compatibilty with it's
32bit predecessor.
Hope this helps.
--
Mike A. Harris ftp://people.redhat.com/mharris
OS Systems Engineer - X11 Developer - Red Hat
More information about the axp-list
mailing list