[xsde-users] Cross-compilation libxsde for PPC under vxWorks

Boris Kolpackov boris at codesynthesis.com
Tue May 4 04:13:55 EDT 2010


Hi,

Jaws <jaws75 at tiscali.it> writes:

>    The hardware FP unit is not enabled. It is enabled only  the soft-float.
> 
>    The xml schema use xs:decimal and xs:double type.
> 
>    I rebuild the runtime library with the -g option and without any
>    optimization.
>    This is the stack trace of the error:

Hm, the stack trace is still not very helpful, probably because you
still had to build with -O1, I assume.

Can you show me the C++ compiler options you used to build the XSD/e
runtime as well as your application? We need to make sure that the
option that enables soft-float (I assume it is -msoft-float) is used
consistently. You also need to make sure that you link to the proper
VxWorks runtime that includes the soft-float support.

It may also make sense to test all this with a separate application.
Can you try something like this and see if it works:

#include <stdio.h>
#include <stdlib.h>

int main (int, char*[])
{
  double v = strtod ("123.456", 0);
  v = -v;

  char str[128];
  sprintf (str, "%.*f", 2, v);
  printf ("%s\n", str);  
}

>    Another strange thing is: if I try to build the application code 
>    without the optimization my linkcheck returns an error like this:
> 
>      _ZnwjPv undefined
> 
>    If I build the application code to test the xml part with at least -O1
>    the undefined symbol disappear.

This symbol is for placement operator new:

operator new(unsigned int, void*)

It should be defined by the compiler runtime. I suggest thatyou contact
VxWorks support regarding this sinceit looks like a toolchain issue.

Boris



More information about the xsde-users mailing list