On Thu, 14 Dec 2006, Bob wrote:
As for the problems in UW imap - I really think it is mainly an issue of
trying to stuff 64 bits pointers into 32 bit integers.
I'm sorry if I was unclear. Let me be more specific:
"Trying to stuff 64 bit pointers into 32 bit integers" is not the
problem. It is a snark. As in "hunting a snark".
There is no case in which a "64-bit pointer is stuffed into a 32-bit
integer." There are cases in which a 32-bit integer (actually a value of
much lesser magnitude) makes a round trip to a 64-bit void* pointer and
back again. That's not the same thing, but the compiler doesn't know
that. In any case the round trip is successful.
The cause of the problem is pointer alignment vs. endian. It's
architecture-dependent, not wordsize-dependent. Compilers generally do
not detect alignment/endian problems. Such problems can only be found by
exhaustive ferreting.
I don't even know what doesn't work. I fixed the one thing that I know
didn't work. It's a lot easier to ferret when the ferret knows what the
varmint smells like.
We have found
this issue to be completely unique to UW imap. Even the far more complex
asterisk PBX package compiles and operates cleanly in 64 bit.
What makes you think that Asterisk PBX wasn't developed/tested on 64-bit
platforms?
-- Mark --
http://staff.washington.edu/mrc
Science does not emerge from voting, party politics, or public debate.
Si vis pacem, para bellum.
_______________________________________________
Imap-uw mailing list
[email protected]
https://mailman1.u.washington.edu/mailman/listinfo/imap-uw