Dear sdcc community,

I am trying to compile and link a piece of code using cosf(). 
I compiled and installed gputils (revision 932) and
sdcc (revision 8435) from svn, with --enable-enhanced-cores:

SDCC : 
mcs51/gbz80/z80/z180/r2k/r3ka/ds390/pic16/pic14/TININative/ds400/hc08/s08 3.2.1 
#8435 (Feb 17 2013) (Linux)

When compiling and linking and my source I get the following error:
error: missing definition for symbol "_cosf", required by "problem.o"
problem.c looks as follows:

#define __16f1938
#include "pic14/pic16f1938.h"
#include <math.h>
void main(void) {
        float x = cosf(1);
}

Following the SDCC manual PDF from http://sdcc.sourceforge.net/doc/sdccman.pdf
I found the following sentence regarding Pic14 enhanced cores:
"When SDCC is used to invoke the linker, SDCC will automatically select
the libsdcc.lib-variant suitable for the target device. However, no such
magic has been conjured up for libm.lib!"

I tried to build my source using 
sdcc -mpic14 -p16f1938 --use-non-free problem.c 
/usr/local/share/sdcc/lib/pic14/libme.lib 
which resulted in 
error: processor family mismatch in "cosf.o"
error: processor family mismatch in "sincosf.o"
error: processor family mismatch in "fabsf.o"
error: processor family mismatch in "errno.o"

I would greatly appreciate advice how to proceed.
Kind regards,
     //Daniel

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to