2007-04-21 23:02:11 +00:00
|
|
|
# $Source$
|
|
|
|
# $State$
|
|
|
|
# $Revision$
|
|
|
|
|
|
|
|
|
|
|
|
The linux386 platform
|
|
|
|
=====================
|
|
|
|
|
|
|
|
linux386 is an i386-based BSP that produces Linux ELF executables.
|
|
|
|
|
|
|
|
This port only implements a very limited number of system calls; basically,
|
|
|
|
just enough to make the demo apps run. Adding more is easy, but there are some
|
|
|
|
subtleties that require more thought. The port should be considered only in
|
|
|
|
proof-of-concept stage right now.
|
|
|
|
|
|
|
|
Important note: you *can't* link access ELF shared libraries from these
|
|
|
|
executables. In other words, you have to all your work from inside ACK.
|
|
|
|
|
2007-04-28 22:34:47 +00:00
|
|
|
IEEE floating point is available, but requires an FPU.
|
|
|
|
|
2007-04-21 23:02:11 +00:00
|
|
|
The executables are generated with aelfslod and are extremely simple; there's
|
|
|
|
one rwx ELF section which contains all the application's code and data. This
|
|
|
|
is not optimal, but it does work.
|
|
|
|
|
|
|
|
|
|
|
|
Bugs
|
|
|
|
====
|
|
|
|
|
|
|
|
isatty() is a stub and always returns 0.
|
|
|
|
|
|
|
|
|
|
|
|
Example command line
|
|
|
|
====================
|
|
|
|
|
|
|
|
ack -mlinux386 -O -o linux386.exe examples/paranoia.c
|
|
|
|
|
|
|
|
The file linux386.exe can then be run on a i386 Linux machine (or on an
|
|
|
|
emulation thereof).
|
|
|
|
|
|
|
|
|
|
|
|
David Given
|
|
|
|
dg@cowlark.com
|