NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: can not download IMAP messages with isync/mbsync



> And, the wraparound seems to happen at 0x7fffffff instead of
> 0xffffffff.  Don't know ARM well enough to explain why.

It's probably using a signed, instead of unsigned, conditional branch
instruction.  (I think for ARM it's the branch rather than the compare
that differs for signed vs unsigned.)

If the ARM ABI can place data both above and below the 0x80000000
divide, that's another bug waiting to happen in the ARM assembly
strnlen; it will misbehave for a string that crosses that point, even
when given a non-ludicrous second argument.

But I suspect it really should just get rid of the "end = str +
maxlen;" and "ptr < end" paradigm altogether, whether or not it's
written in assembly.

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse%rodents-montreal.org@localhost
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index