In the cprt0.as file (used when linking with libc in Arm/Linux) line 74 says /* load argv mov a3, sp I think it should be /* load argv */ mov a3, sp Now the "mov a3, sp" instruction is included. Maybe this parameter is only used when starting C programs, but .... Regards Carsten