"undefined: _fpscr" with CW 6.4 for Coldfire?

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

"undefined: _fpscr" with CW 6.4 for Coldfire?

1,355 Views
RichSMD
Contributor II
I am getting the linker error "undefined: _fpscr".  This is for an embedded system that has compiled successfully in V6.3, but we recently upgraded to V6.4 and are now having this problem.  I've read the 3 or 4 Forum posts on this subject already, but still have a problem.  I've deleted the .._DATA folder and rebuilt with not luck.  I've added the C_CF_SZ_MSL.a file to the project and rebuilt and that didn't work either.
 
Some gory details:
-We are using the MQX rtos from ARC International, but I don't see that this problem is related to that
-We are using the following runtime libraries:
      -C_4i_CF_FPU_StdABI_MSL.a
      -C_4i_CF_FPU_StdABI_RUNTIME.a
      -C++_4i_FPU_StdABI_MSL.a
      -Cpp_Ri_CF_FPU_StdABI_RUNTIME.a
-As I mentioned above, I also tried adding in C_4i_CF_SZ_MSL.a per one of the Forum posts, but that did not solve the problem.  BTW, I did not find this file in the V6.4 distribution, I copied it from the old V6.3 distribution files.
-The project compiles pretty clean with only 3 warnings for "Illegal implicit conversion from 'unsigned short' to 'mcf548x_interrupt_table_index'" in the eninit.c file.  Since eninit.c is for ethernet and _fpscr appears to be related to floating point code, I don't believe these warnings are relevant either.  Besides, this project has had these warnings during build for the last year without problem.
-Since converting the project to V6.4 I find I can no longer build in V6.3!  When I try this I get 1001 link errors: "Illegal 16-bit small data area relative referencer to symbol '{a project data symbol with "_" prepended}' from address {a hex address} in section '.text' of file '{one of my source files}'".  This is using the same libraries and compiler/linker settings, so I don't know how to deal with this problem either.  I'm trying to get V6.4 to work as it seems a lot closer to working with only one linker error.
 
Any help will be appreciated.  I've been searching through documentation, the web, the Forums, and dozens of obscure source and library files for the last couple of days and am just about out of ideas to try.
 
Rich L.
Labels (1)
0 Kudos
1 Reply

233 Views
RichSMD
Contributor II
OK,  I managed to fix it but I'm not sure what happened.  In comparing the project settings one more time I found that the Coldfire Process:Target CPU setting had gotten switched to 5272.
 
I also found that the parameter passing was set to Compact, but I was using the StdABI MSL and Runtime libraries, so I changed that to Standard.  Finally the Floating Point setting was "software" but I'm using hardware floating point so I changed that as well.
 
I don't know if I fumbled and did this or if something else changed this behind my back.  In anycase, it compiles and links OK now.
 
Rich L
0 Kudos