Ryan Mansfield(deleted)
|
Re: Compiling for ARMv7 (Cortex-A8) in 6.5.0 with Floating Point
|
Ryan Mansfield(deleted)
10/03/2011 3:10 PM
post89208
|
Re: Compiling for ARMv7 (Cortex-A8) in 6.5.0 with Floating Point
On 11-10-03 02:51 PM, John Edwards wrote:
> I have read through the help document about building code for the Cortex-A8 in QNX, and have been mostly successful,
however I still have a small problem with getting code containing floating point operations to run properly.
>
> The help document in the QNX IDE seemed to imply that all armv7le code was compiled using the VFP instructions with no
other libraries needed, such as the libm-vfb library that was needed in the older armle (v6) platform.
>
> When I compile and run a section of code that has a floating point instruction I get this output at runtime: ldd:FATAL
: Unresolved symbol "__aeabi_ul2f" called from Executable
>
> I've tried all the different -m options that I can think of with all the vfp settings to modify the compiled code, but
can't seem to get anything to work through this case. It seems that my binary is looking for a piece of code in an
external library, however, I don't know which library this could be.
__aeabi_ul2f is a libgcc function and is available in
$QNX_HOST/usr/lib/gcc/arm-unknown-nto-qnx6.5.0eabi/4.4.2/libgcc.a. As
the qcc/gcc drivers automatically link against libgcc, the only way for
this to happen is if you link against a shared library which contains
this libgcc function, and then the static linker doesn't pull in another
copy from libgcc.a into your executable because it assumes that shared
library will be available at runtime and provide the definition. Check
to make sure that the libraries you're linking against are the versions
available on your target.
Regards,
Ryan Mansfield
|
|
|