illegal use of frame pointer (r31) in statement level assembler - mingw32-make: ***

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

illegal use of frame pointer (r31) in statement level assembler - mingw32-make: ***

1,258 Views
afleury
Contributor II

When compiling a project with CW PA, I get this error:  illegal use of frame pointer (r31) in statement level assembler / mingw32-make: ***.  In fact, in a C-file, there are parts in Assembly. In those parts, we manipulate the registers. And it seems that CodeWarrior doesn't accept such manipulations on r31. It there a way to bypass this verification?

Just to clarify the situation, I started the project with source code for WindRiver compiler. We are looking to switch with CodeWarrior. Our current processor is P1020, which is at the end of life. We target to replace it with T1024 (Power Architecture).  In the WindRiver documentation, there is a whole chapiter for the calling conventions. There isn't such chapiter in this document "CodeWarrior Development Studio for Power Architecture Processors Build Tools Reference Manual". Is there a document giving details for the CW PA Calling Conventions?

Thanks in advance for your help,

0 Kudos
Reply
2 Replies

1,215 Views
yipingwang
NXP TechSupport
NXP TechSupport

Would you please provide your C source file to cause the compile issue?

Please refer to the attached document for the compiler.

 

0 Kudos
Reply

1,209 Views
afleury
Contributor II

Hi yipingwang,

A work colleague had already worked on this problem before me and he took the initiative to replace r31 by r29 and r30 by r28. That's what I did myself. However, I would like to know which registers I can use for future reference.

Please refer to the attached c-file for the single C function with assembly parts

0 Kudos
Reply