attribute((interfacearm))

Shaun Jackman sjackman@pathwayconnect.com
Wed Dec 19 16:10:00 GMT 2001


In gcc/config/arm/README-interworking the attribute((interfacearm)) is 
mentioned as a way of supporting non-interworking arm routines that need to 
call a thumb routine.

Here's the source.
int __attribute__((interfacearm)) 
sys_write( int fd, const void* buf, unsigned count)
{
	(void)fd;
	gnputs( buf, count);
	return 0;
}

Here's the error
$ arm-elf-gcc -I. -Wall -Werror -g -DINVERTDISP -DTARGET_PATHPORT 
-DTARGET_ARM -DTARGET_PATHPORT_REV1 -mcpu=arm7tdmi -mlittle-endian 
-mthumb-interwork -mthumb  -I../include     -c -o lcd.o lcd.c
cc1: warnings being treated as errors
lcd.c:415: warning: `interfacearm' attribute directive ignored

If I use the alternate declspec(interfacearm) syntax I get
$ arm-elf-gcc -I. -Wall -Werror -g -DINVERTDISP unsigned -DTARGET_PATHPORT 
-DTARGET_ARM -DTARGET_PATHPORT_REV1 -mcpu=arm7tdmi -mlittle-endian 
-mthumb-interwork -mthumb  -I../include     -c -o lcd.o lcd.c
lcd.c:414: parse error before "sys_write"
cc1: warnings being treated as errors
lcd.c:415: warning: return type defaults to `int'

Is this attribute actually supported in gcc 3.0.2?

Thanks,
Shaun



More information about the Gcc-help mailing list