Hi folks,
I am looking into making a new version of MUIbase available for AROS. To get started, I just wanted to compile and run a simple "void main(void) { printf("Hello world\n"); }" on the Icarus distro.
I downloaded IcarosLive_2_3_0.zip and the ISO image is running nicely under VirtualBox. Success!
Next, I followed the instructions on
https://aros.sourceforge.io/documentation/developers/app-dev/introduction.php and tried downloading the AROS cross-compiler but the link to
http://www.zerohero.se/cross/aros.html no longer works (someone, please update the docs!).
Thus, I tried "Compiling on Linux with the "fake" GCC". I had a hard time finding the mentioned "i386-all-sdk" download. I think I went through all of
https://sourceforge.net/projects/aros/files/ and the only suitable download seems to be AROS-20190503-pc-i386-sdk (BTW, I find it confusing to call downloads a nightly build when in fact there are only downloads for a very sparse set of days).
I am using a Ubuntu Xenial x86_64 Linux box and managed to install the AROS SDK. I am able to compile the hello-world program (using -m32 to generate i386 binaries). The resulting executable seems to match the AROS specs: ELF 32-bit LSB relocatable, Intel 80386, version 1, not stripped
However, when running it on the Icarus distro, the program simply crashes w/o printing the hello-world string.
Is it because AROS-20190503-pc-i386-sdk is using ABIv1 (whatever that means, it would be great to describe how the ABI was changed)? Is Icarus using ABIv0? How do I find out?
Any advice on how to make progress?