2012-02-21 Labutin Ivan * gcc/config/arm/arm.c: Added support for __attribute__ ((swi(x))). With this, you can write function prototype: int some_sys_call (int, char*) __attribute__ ((swi(0x15))); Now, if you call it: a = some_sys_call (5, "test"); it will produce following assembler output: ... MOV R1, #test_adr MOV R0, #5 SWI 0x15 ... This is an analogue of #pragma swi_number=0x15 int some_sys_call (int, char *); or __swi(0x15) int some_sys_call (int, char*); in other ARM-targeted compiliers. * gcc/config/arm.md: Likewise. * gcc/config/arm-protos.h: Likewise.