Rodolphe,
 
I made a simple program in C++ and found out that there was a similar 
problem: multiplying two float numbers results always in 0.00
We compiled on the board itself and the little C++ program worked.
 
This made us looking a bit further: we found out that there were 
incompatibilities in between the cross compiler of CodeBench Lite and the 
C++ libraries/compilers installed on our Linaro distro running on our ARM 
CortexA9.
 
After installing the necessary Linaro cross-compilers:

   - sudo apt-get install gcc-arm-linux-gnueabihf
   - sudo apt-get install g++-arm-linux-gnueabihf 
   - sudo apt-get install gdb-arm-linux-gnueabihf
   
and specifying -mfpu=vfp3 -mfloat-abi=hard as compiler flags. We saw that 
our C++ application is working well.
Now for V8, we made a script:

#!/bin/sh

CROSS_BASE=/usr

PREFIX_BIN=$CROSS_BASE/bin/arm-linux-gnueabihf

export TOOL_PREFIX=$PREFIX_BIN

export CXX=$TOOL_PREFIX-g++

export LINK=$TOOL_PREFIX-g++

export AR=$TOOL_PREFIX-ar

export RANLIB=$TOOL_PREFIX-ranlib

export CC=$TOOL_PREFIX-gcc

export LD=$TOOL_PREFIX-g++  

export CCFLAGS="-mfloat-abi=hard -mfpu=vfpv3"
export ARM_TARGET_LIB=${CROSS_BASE}/arm-linux-gnueabihf/lib
 
We run the script and then: make arm.release -j4 
OUTPUT_DIR=/your/local/output-dir
After deployment and running shell: print(3.3*2.1) works perfectly !
 
So, case closed. Sorry about the mistake and a huge thanks for your help !

Op vrijdag 5 juli 2013 20:41:01 UTC+2 schreef Rodolph Perfetta het volgende:

> In V8 you can have armfpu set (vfp or neon) and armfloatabi set (softfp or 
> hard), I'll be curious to know where you read it was not possible.
>
> Did you manage to write an equivalent piece of C code? That would settle 
> the flaot-abi issue.
>
>
> On 5 July 2013 16:07, Benedikt Naessens <[email protected] 
> <javascript:>>wrote:
>
>> The armfpu option is a V8 make option (sorry, I didn't include the whole 
>> make instruction, because I feared that it causes my posts to get 
>> automatically deleted).
>>  
>> print(2.2*1.1) in the V8 shell gives correct results (and of course, 
>> doesn't crash). printf(2.1*2) results in an error (crash)
>>  
>> When I ask for the gcc version of the codebench, then I get: gcc version 
>> 4.7.2 (S0urcery C0deBench Lite 2012.09-104)
>> Unfortunately, the output of the make is usually: 
>> CCX(host) ....
>>  
>> So, hard to guess which one is used during building. Anyway, after 
>> running the 'file' command on the produced files I get ARM files, I get:
>> "ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked 
>> (uses shared libs), for GNU/Linux 2.6.16, not stripped"
>> Thus, I assume it uses the cross)compiler
>>  
>> At some point during the building, it shows some warnings though: 
>> "../src/profile-generator.h:73:15: note: the mangling of 'va_list' has 
>> changed in GCC 4.4"
>>  
>> I am not so sure about this message, but according to me, it doesn't mean 
>> it is using GCC 4.4, but just refers to the fact that the va_list has 
>> changed from GCC 4.4 on (since we are using 4.7.2) 
>>
>>  
>>
>> Op vrijdag 5 juli 2013 15:34:12 UTC+2 schreef Rodolph Perfetta het 
>> volgende:
>>
>>> When you say "I read that if you speciify armfpu option, you need to 
>>> use s0ftfp instead of hard", you mean gcc option or V8 make options?
>>>
>>> Also you mentioned print(2.2*1.1) works, does this mean it prints the 
>>> right result or just that it doesn't crash? Have you tried writing a small 
>>> C program doing the same with printf?
>>>
>>> Finally could you give your compiler version.
>>>
>>>
>>>
>>> On 5 July 2013 13:40, Benedikt Naessens <[email protected]> wrote:
>>>
>>>>  Two of my posts get deleted, I don't know which word is causing the 
>>>>> problem, so I will use some symbols to avoid that my posts get 
>>>>> automatically deleted.
>>>>>
>>>>  
>>>> According to the Cod3S0rc3ry website, the L1t3 version doesn't have the 
>>>> necessary sources to use the armfl0atabi=hard option. Anyway, I read that 
>>>> if you speciify armfpu option, you need to use s0ftfp instead of hard.
>>>> Unfortunately, it still is crashing.
>>>>  
>>>> Hope no offensive word is causing the deletion of this post :)
>>>>
>>>> -- 
>>>> -- 
>>>> v8-users mailing list
>>>> [email protected]
>>>>
>>>> http://groups.google.com/**group/v8-users<http://groups.google.com/group/v8-users>
>>>> --- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "v8-users" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to v8-users+u...@**googlegroups.com.
>>>>
>>>> For more options, visit 
>>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>>> .
>>>>  
>>>>  
>>>>
>>>
>>>  -- 
>> -- 
>> v8-users mailing list
>> [email protected] <javascript:>
>> http://groups.google.com/group/v8-users
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "v8-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
>>
>
>

-- 
-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to