On 09/01/13 22:30, Segher Boessenkool wrote:
+/*
- filll ( addr len quad -- )
- */
+static void ffilll(void) +{
- const u32 longval = POP();
- u32 len = POP();
- u32 *aaddr = (u32 *)cell2pointer(POP());
- while (len--) {
- *aaddr++ = longval;
- }
+}
This is wrong: the "len" parameter is a length _in bytes_. If it's not a multiple of four, Apple's implementation writes one to three bytes too many.
Okay :( Patch to fix this to follow shortly.
ATB,
Mark.