Barret Rhoden
2013-03-28

It's possible to take platform independent programs compiled for Akaros or
Linux and link them to run on the other OS, within limits.

The basic way to do this is to simply compile them into .o files, and then
link them, like so (for ros-compiled, linux-linked):

$ i686-ros-gcc -c file1.c -o file1.o (plus flags)
$ i686-ros-gcc -c file2.c -o file2.o (plus flags)
$ gcc file1.o file2.o -o program

For linux-compiled, Akaros-linked
$ g++ -c file1.cc -o file1.o (plus flags)
$ g++ -c file2.cc -o file2.o (plus flags)
$ i686-ros-g++ file1.o file2.o -o program

There are a number of limitations.  Obviously your program needs to be
platform independent, regardless of ifdefs.  You can't call syscalls directly
or anything, even if those are ifdef _MY_OS_, since they will actually compile
for the wrong target.  The code can only interface with libraries.

Another important limitation is that our libraries (like pthreads) may have
the same API as on Linux, but we don't have the same ABI.  For example, the
size of a pthread_attr_t on 32 bit linux is 36 bytes.  On Akaros, it is 8
bytes (for now!).  In this case, if you compile for Akaros, the compiler only
reserves 8 bytes for the attr, but the Linux pthread libraries will expect to
be able to write 36 bytes.  Unless your program pads these items, you'll
clobber important memory.

A temporary hack to make one compiler have the correct sizes is to change the
header file so the objects your program uses are the 'right' size.  Compile,
then change the header back.

As of the time of this writing, on 32 bit systems:
/* On linux:
 * sizeof pth attr:    36
 * sizeof pth t:       4
 * sizeof pth mutex:   24
 * sizeof pth barrier: 20
 *
 * On Akaros:
 * sizeof pth attr:    8
 * sizeof pth t:       4
 * sizeof pth mutex:   8
 * sizeof pth barrier: 28 */

Additionally, C++ streams don't seem to work.  There's some sort of segfault
in the C++ libraries, probably related to ABI mismatches and memory
clobbering.  You could just rewrite your application to not use iostreams, or
you could poke around in the gcc stage2 build and see what the problem is.  At
least, if you're running on Linux, you have gdb to help you debug!
