On Tue, Apr 29, 2003 at 12:11:18AM +0200, Stefan Schroepfer wrote: > "Ported to Alpha" doesn't necessarily mean "ported to 64-Bit". > Remember: The DEC linker has/had a "magic" switch to turn all > addresses into 32-Bit. This particular feature wasn't available > in earlier Linux/Alpha versions.
I can't remeber me using any special linker switches and longs were definitely 64 bits. And sizeof(long)!=sizeof(int) is what's now causing problems on IA64 (XView basically treats everything as longs, and pointers happen to fit in there). I guess the main difference is the fact that the Alpha ABI guarantees that if the caller passes an int but the callee expects a long, then the upper 32 bits of the long are properly sign- or zero-extended. On IA64, they're undefined. :-( But hacking gcc is definitely not something I'm prepared to do just to make XView work... Martin

