I would suggest upgrading your gcc tool chain.. It is just inline asm syntax problems..
Try like this:
void installIRQ( int num, void (*irq)(void) ) {
asm volatile(""
"stmdb sp!,{lr} \n"
"mov r0,%0 \n"
"mov r1,%1 \n"
"swi #0x09 \n"
"ldmia sp!,{lr}"
:
: "r"(num), "r"(irq)
: "r0","r1");
}