This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

attribute((interfacearm))


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]