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

Reply via email to