[oe] powerpc-g++ 4.2.4 problem casting long long to double

Khem Raj raj.khem at gmail.com
Mon May 24 18:25:29 UTC 2010


On (24/05/10 18:36), Vitus Jensen wrote:
> 
> Well, it generates the call to __floatdidf from inside cast() but
> that function is never called from main but replaced with the
> precomputed result.  See attached assembler output, there is no call
> to _Z4castx.

yeah I see, its inlining the function.
> 
> Hmm, I'm using angstrom with glibc.  And I'm testing on the real
> device and saw that -mhard-float is implied by mcpu=603e.  Using the
> FPU would certainly explain differences between qemu and the real
> thing.  But __floatdidf is hard to understand, all macro.  Is it
> really using the FPU?

Yeah that could be something to look at. In general if gcc is using 
fp instruction to schedule then it might be using them. 

You should try to find which libgcc is it linking to when using g++
and gcc. It could be that its linking in two different libgcc versions

secondly try to compile program statically and then run it.

Also try to generate the linker map file in faulty and good case.

try ldd on the binary on target and see if there is any difference
in libraries it is wanting 

> 
> Vitus
> 
> PS, to crosscheck: is there a HOWTO for qemu and oe/ppc?  And
> qemu_0.12.4 doesn't build here.

You could use qemu-native from OE if thats not the one failing.
there is a script in contrib/qemu/run-qemu.sh thus far. Although one day I should
do a write-up on wiki about various qemu machines in OE

Thx
-Khem





More information about the Openembedded-devel mailing list