function level interworking?

Asked by Richard Lang

I'm currently porting an existing project targeting ARM7TDMI processor from IAR Embedded Workbench to version 4.9_2015q3 (Windows build) of this toolchain.

The existing codebase uses function level interworking, with a few arm functions in a codebase that in general is being compiled to thumb code.

I've tagged the ARM functions with

  __attribute__((target("arm")))

and am compiling with

  -mcpu=arm7tdmi-s -mthumb -mthumb-interwork

flags, and yet am getting a "target attribute is not supported on this machine" warning on each attribute tag.

What am I missing?

Question information

Language:
English Edit question
Status:
Solved
For:
GNU Arm Embedded Toolchain Edit question
Assignee:
No assignee Edit question
Solved by:
Richard Lang
Solved:
Last query:
Last reply:
Revision history for this message
Thomas Preud'homme (thomas-preudhomme) said :
#1

Hi Richard,

I'm afraid support for these target attributes was only added for ARM during the GCC 6 development cycle and will thus be available in our toolchain only around 2016Q4. In the meantime I would suggest you to move the ARM function in a separate file, remove their target attribute and compile them with -marm.

Best regards.

Revision history for this message
Richard Lang (r-e-lang) said :
#2

OK, thanks