John Carter wrote:
I'm trying to create a cross compiler hosted on i386 linux targetting an
embedded arm thumb device with thumb-interworking on.
You need to the modify gcc-4.X/gcc/config/arm/t-arm-elf file to enable multilib for thumb
interworking before building gcc. For gcc 4.0 targetting e
void __attribute__ ((long_call)) pig(void)
{
}
Ok thanks, with such change to the definition the file compiles.
I didn't know one can attribute definitions too, and info gcc says:
"
The keyword `__attribute__' allows you to specify special attributes
when making a declaration.
"
So I suppos
Is there anything tricky that prevents an easy implementation?
Yes, internally the routine that's doing the comparison can't
distinguish declarations from definitions. We need to diagnose
Is the routine arm_comp_type_attributes() in gcc/config/arm/arm.c by any chance?
conflicting declarati
void pig(void) __attribute__ ((long_call));
void pig(void)
{
}
Yes, that's the way it's currently coded.
The problem, it seems to me, is that we want to fault:
void pig(void) __attribute__ ((long_call));
...
void pig(void);
and
void pig(void);
Hello
trying to compile the following simple source file using arm-elf-gcc 4.0
void pig(void) __attribute__ ((long_call));
void pig(void)
{
}
yields:
error: conflicting types for 'pig'
error: previous declaration of 'pig' was here
The same with gcc3.3. With other function attributes (isr, sec