Linker Error: Related to libc?

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

Linker Error: Related to libc?

1,914 Views
machnacki
Contributor I
Hello,
 
I'm trying to use some of the SPE funtionality of the MPC5554 and am running across the following errors when I try to "make" my program:
 
Link Error: Undefined: '_save64gpr_15'
Link Error: Undefined: '_rest64gpr_15'
 
I'm having trouble figuring out exactly what is wrong.  The e500 ABI document says that "save64" and "rest64" should be implemented in "libc". 
 
I found a file "libc.a" in my \cygwin\lib folder and included it as a file to link, but this didn't help.  Sorry for being a total newbie, but I was hoping somebody could help me out here?
 
Regards,
Jon
Labels (1)
0 Kudos
Reply
3 Replies

660 Views
CrasyCat
Specialist III
Hello
 
Did you create your project using the wizard?
Which Processor did you specify in the EPPC Processor panel?
Which Floating point  and Vector support settings did you use there?
 
Which libraries did you link to the application?
 
CrasyCat
0 Kudos
Reply

660 Views
machnacki
Contributor I
Thanks for the reply.  To answer your questions:
 
No, I did not use the project wizard.
My processor settings are for Zen (PowerPC), with SPE-EFPU Floating Point and SPE Vector Support. 
The runtime libraries I am linking are Runtime.PPCEABI.S.UC.a and MSL_C.PPCEABI.bare.S.UC.a
I am also including recent versions of SPE.h, MPC5554.h, and typedefs.h.
 
CodeWarrior version is 2.0.
 
Hopefully the solution is pretty straightforward...I'm somewhat of a newbie to CodeWarrior for Freescale procs.
 
Thanks again for the help,
Jon
0 Kudos
Reply

660 Views
CrasyCat
Specialist III
Hello
 
Actually you are linking against the wrong libraries.
You should use Runtime.PPCEABI.E.UC.a and MSL_C.PPCEABI.bare.E.UC.a
 
These are the library supporting SPE-EFPU floating point format.
Runtime.PPCEABI.S.UC.a and MSL_C.PPCEABI.bare.S.UC.a are libraries for software floating point.
 
CrasyCat
 
0 Kudos
Reply