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

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

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

2,913件の閲覧回数
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 件の賞賛
返信
2 返答(返信)

2,870件の閲覧回数
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 件の賞賛
返信

2,864件の閲覧回数
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 件の賞賛
返信