Messages in this thread | | | Date | Sat, 4 Sep 1999 16:35:35 +0100 (GMT) | From | Riley Williams <> | Subject | [ix86 only] as86 bug? |
| |
Hi Peter, Michael.
I've discovered a bug in the as86 assembler which was causing my attempts to make the ix86 boot code correctly handle kernels larger than 1M to play havoc with my system. Since I've now isolated the effects of the bug, I'm reporting it for those interested therein.
The problem is with as86's handling of the .org directive, and specifically with the case where the directive specifies an address lower than what would be used in the absence of the .org directive. When this occurs, as86 does one of two things, with there being no apparent pattern to its choice of which it does:
1. Most of the time, it inserts lots of garbage at the point the directive occurs. I would presume it's trying to insert 4G of garbage, but my partitions aren't that large so it stops when it reaches the "Disk full" condition, producing an "Out of memory" error (yes, that is correct).
2. Occasionally, it sets the location to the correct one, but in the process overwrites the first two bytes of the code with 0x5a, 0x7f and thus trashes the resulting code. There is no error message generated in this case.
Since I was tweaking the i386 boot sector when this bug hit me, I was less than amused...
Best wishes from Riley.
+----------------------------------------------------------------------+ | There is something frustrating about the quality and speed of Linux | | development, ie., the quality is too high and the speed is too high, | | in other words, I can implement this XXXX feature, but I bet someone | | else has already done so and is just about to release their patch. | +----------------------------------------------------------------------+ * ftp://ftp.MemAlpha.cx/pub/rhw/Linux * http://www.MemAlpha.cx/Linux/
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |