2018-03-11 11:41:15 +01:00
|
|
|
# Minimal elf support
|
2014-04-25 12:29:12 +02:00
|
|
|
|
2014-08-28 21:32:53 +02:00
|
|
|
This is really minimal and works only for our current use case
|
|
|
|
|
2014-04-25 12:29:12 +02:00
|
|
|
- no external functions (all syscalls)
|
2018-03-11 11:41:15 +01:00
|
|
|
- only position independent code (no relocation)
|
2014-04-25 12:29:12 +02:00
|
|
|
- embedded data (into text), no data section
|
|
|
|
|
|
|
|
I was close to going the wilson way, ie assmble, load into memory and jump
|
|
|
|
|
|
|
|
But it is nice to produce executables. Also easier to test, what with segfaults and such.
|
|
|
|
|
2018-03-11 11:41:15 +01:00
|
|
|
Executable files are not supported (yet?), but object files work. So the only thing that
|
|
|
|
remains is to call the linker on the produced object file. The resulting file is an
|
|
|
|
executable that actually works!!
|
2014-04-25 12:29:12 +02:00
|
|
|
|
|
|
|
Thanks to Mikko for starting this arm/elf project in the first place: https://github.com/cyndis/as
|
|
|
|
|
2015-10-07 10:32:48 +02:00
|
|
|
This part definitely needs tlc, so anyone who is interested, dig in!
|