I realised my problem: I had a global variable that wasn't initialised. It was being linked as an undefined reference (a Common symbol, in nm's lexicon). I don't know why this causes the executable to fail on AROS when it works on other operating systems, but the solution I applied was to make the variable file-scope, so that it doesn't make it to the link editor.