Re: Regarding the Future of ELKS

David Given
2007-05-06T17:13:23Z

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Alan Cox wrote:
[...]
> Not sure there is a spec per se but the ELKS system originally used minix
> format binaries (indeed I've used minix binaries on it). The later binary
> format fixes the minix 8086 design flaw where it puts the stack above the
> data. Instead ELKS puts the stack at the bottom of the data in a space
> size set at compile time. This allows brk() to work properly and avoids
> the chmem mess Minix has.

According to the ACK source, Minix uses PC/IX a.out files! I never even knew
the standard had a name. Minix i86 appears to use CPU 4, which matches the
ELKS a.out.h file.

Is there any way to distinguish between a Minix binary and an ELKS binary?

(Interestingly, putting the stack at the *bottom* of the data is exactly what
I did with the CP/M platform. In my case it was to make it easier for brk() to
tell where the end of the program area was. Strictly it shouldn't be necessary
for any platform to have a defined position for the stack; parameters can be
passed to the executable via registers, and then setting up the stack can be a
pure user-mode thing. I don't know if anyone actually does this, though.)

[...]
> If nobody ever did that fix to Minix it might be more useful to teach
> minix how to handle sane binary layouts and real memory allocation than
> ELKS hacking 8)

Can't comment on binary formats, but apparently someone is working on a real
VM for Minix 3, which should allow brk() to be actually useful. I'm hoping
that I can wait until then before porting the ACK's new build system...

- --
┌── ｄｇ＠ｃｏｗｌａｒｋ．ｃｏｍ ─── http://www.cowlark.com ───────────────────
│ "Parents let children ride bicycles on the street. But parents do not
│ allow children to hear vulgar words. Therefore we can deduce that cursing
│ is more dangerous than being hit by a car." --- Scott Adams
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGPgyzf9E0noFvlzgRAhFCAKC6g/9TRkTvt8/Ed7a08LOyb7WbWACfetkH
wwapxf263425OWTpkevHxO8=
=pLwQ
-----END PGP SIGNATURE-----

-
To unsubscribe from this list: send the line "unsubscribe linux-8086" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html