At 7:35 AM -0500 12/31/02, Jim Cromie wrote:
pardon the lack of clue I reveal here, but..You're looking to encode data in the low X bits (where X is 2 or 4 for 32 or 64 bit machines), right? It's a clever thing to do, but one I admit I mistrust. Either it means we have to check every pointer that might be encoded before we use it or wedge into the system SIGBUS handler, which is non-trivial in many places. It's also rather a portability problem. (And potential security problem, alas)
on 32 bit box, a void* has 3 values which are illegal/unaligned;
void* ptr;
if (ptr & 0x00) {
/* ok */
} else {
/* some exceptional situation */
}
is there any concievable use of this which doesnt interfere with legitimate bus-errors (ie existing unaligned pointer handling) ?
A cool idea, but I don't think we can do it.
--
Dan
--------------------------------------"it's like this"-------------------
Dan Sugalski even samurai
[EMAIL PROTECTED] have teddy bears and even
teddy bears get drunk