I would guess the `arm_version=6` is what makes the difference. Almost 
nothing is arm6 anymore, so it makes sense that V8 would default to 
outputting arm7 asm.

On Friday, January 9, 2015 at 11:50:12 AM UTC-9, Milan Pandurov wrote:
>
> Ok i managed to solve this problem. Solution is different make arguments. 
> This is a solution that works for me:
>
> make arm.release arm_version=6 armfpu=vfp armfloatabi=hard
>
> Now all unit tests pass, sample code and my program all work nicely. 
>
> I will check if it works on newer kernel version and post here.
>
> Thanks for help people
>
> On Friday, January 9, 2015 at 3:40:30 PM UTC+1, Milan Pandurov wrote:
>>
>> I am having a problem with cross compiling google v8 libraries for 
>> raspberry pi, and constantly getting "Illegal instruction" error when 
>> compiling official sample from site. These are the steps i followed:
>>
>>    1. Downloaded cross compile https://github.com/raspberrypi/tools/
>>    2. Cloned v8 git https://chromium.googlesource.com/v8/v8.git
>>    3. Exported CXX LINK point to arm-linux-gnueabihf-g++ from cross 
>>    compile tools.
>>    4. run make arm.release armv7=false hardfp=on snapshot=off armfpu=vfp 
>>    armfloatabi=hard -j5
>>    5. Copied generated executable shell and d8 from out/arm.release 
>>    directory to pi (Raspbian kernel version 3.6.11) and it WORKS. These 
>> steps 
>>    prove that cross compilation toolchain is functional.
>>    
>> Problem occurs when trying to run other cross-compiled software that is 
>> linked to v8 libraries. For example sample code from 
>> https://developers.google.com/v8/get_started#intro. Code is 
>> cross-compiled with this command (same as example, just changed compiler)
>>
>> arm-linux-gnueabihf-g++ -I. hello_world.cc -o hello_world -Wl,--start-group 
>> out/x64.release/obj.target/{tools/gyp/libv8_{base,libbase,snapshot,libplatform},third_party/icu/libicu{uc,i18n,data}}.a
>>  -Wl,--end-group -lrt -pthread
>>
>>
>> When i copy that code to pi and run it i get SIGILL (Illegal instruction).
>>
>> Note: cross compiled software that doesn't use v8 libraries works fine. 
>> Also x64 v8 libraries on host computer work fine.
>>
>> On newer kernel versions shell and d8 were also throwing SIGILL but than 
>> i switched to older version 3.6.11 (problems with newer kernel 
>> https://groups.google.com/forum/#!topic/v8-users/IPT9EeYK9bg) and they 
>> started working, but compiled sample code is still showed same issues.
>>
>> Did anyone have similar experience? Any suggestion on how to overcome 
>> this problem?
>>
>

-- 
-- 
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/d/optout.

Reply via email to