problems building debian packages (and 64-bit tidbits)
Jiann-Ming Su
js290 at bellsouth.net
Wed Jul 7 13:28:03 UTC 2004
Just as reference, this is what I got back from the alpha lists:
>From jeff DOT donsbach on hp.com Tue Jul 6 23:14:45 2004
I don't believe there is a gcc option for that.
You'd have to convert all "long" data type usage to "int". But that
wouldn't really help here since time_t is in a system header file.
"long" is always 64 bit on Alpha (and IA64 too). Pointers are always 64
bit. No straightforward way around it. The platform paradigm is LP64.
Better to fix the app to make it more portable.
>From rm DOT riches on verizon.net Tue Jul 6 23:43:42 2004
IIRC, Alpha normally compiles 'int' as 32 bits, but time_t
is eventually defined as a 64-bit long, which causes time_t
and int to be different width, which differs from X86.
Other than that, I can't help with that question, but I have
a couple of other tips that might be useful:
- There is a -taso option, though you might have to
pass it through the -bw or whatever it's called
option to treat pointers as 32-bits wide.
- There is a Linux library call (or system call),
personality() that you can set to 32-bit-Linux if
needed.
If the program you're compiling has trouble with specific
sizes, it just might commit the common crime of stuffing
pointers into 32-bit int variables. After getting the right
combination of -taso and personality(32-bit-linux) I got the
Squeak smalltalk implementation to compile on Alpha a few
years ago. If I can get that monster to compile on Alpha,
you should be able to get your program to compile if you
work at it a while.
Looks like Squeak can be compiled on the alpha with some effort.
Jiann-Ming Su
"Yeah, Lois, that'll be about as much fun as a lecture on
ontological empiricism." --Peter Griffin
More information about the Squeak-dev
mailing list
|