At 10:25 PM 5/6/2005, Ethan Dicks wrote:
On 5/6/05, John Foust <jfoust at threedee.com>
wrote:
Compiling on early Amigas was a real pain.
Any floppy-based C compiler is a pain. It's worse on early Amigas
because malloc() would guru the OS rather than return a null pointer
(not the C compiler's fault - the lowest level memory allocation
routine in the kernel did it). It gave rise to a lot of old software
that would *never* fly in the UNIX world because AmigaDOS 1.0 and 1.1
developers assumed that if malloc() returned, the pointer *must* be
valid. Not a safe assumption on a machine that doesn't have virtual
memory (and not that safe when you _do_ have virtual memory, either).
I'm not remembering this sort of malloc() bug. Are you thinking
of something with the AmigaDOS AllocMem()/FreeMem() calls? Or something
in a particular C compiler's library? I can see how a particularly
poorly written C application that never checked malloc()'s return
value could crash if it wrote to a null pointer.
What will be humbling is that when we find the answer, we will
find it in an article that I wrote in the 80s. :-) I've been meaning
to put all my old Amazing Computing articles online.
- John