What version of Android required such an old version of V8? The current version of open source Android uses V8 2.5.9.20, http://v8.googlecode.com/svn/branches/2.5@7184<http://v8.googlecode.com/svn/branches/bleeding_edge@3784>. Please look at http://android.git.kernel.org/?p=platform/external/v8.git;a=summary.
Regards, Søren On Tue, Jul 12, 2011 at 12:15, Jose Manuel Cantera Fonseca < [email protected]> wrote: > Hi, > > Thanks for responding. The only thing it may stop me from changing to a > more recent version is the Webkit Compatibility. The Webkit version using by > the Android build is > > http://src.chromium.org/svn/releases/5.0.328.0/DEPS > http://svn.webkit.org/repository/webkit/trunk@54731 > > Do you think a more recent V8 would work with that Webkit? > > your build option include '-mtune=arm1136jf-s' the f is for VFP but in >> theory this should have no bearing as it is passed as a pipeline tuning >> setting. > > > Do you mean I should remove such an option? > > thanks > > 2011/7/12 Rodolph Perfetta <[email protected]> > >> Am I correct in thinking you are using bleeding_edge revision 3784. This >> is very old, current bleeding edge is around revision 8600. Anything >> stopping you to use a more recent bleeding_edge? >> >> your build option include '-mtune=arm1136jf-s' the f is for VFP but in >> theory this should have no bearing as it is passed as a pipeline tuning >> setting. >> >> Rodolph. >> >> On 12 July 2011 10:44, Jose Manuel Cantera Fonseca < >> [email protected]> wrote: >> >>> The problem is still there. Below you can find the compilation options my >>> Android build is using. >>> >>> On the other hand the options mentioned by Soren do not appear on my >>> contants-arm-h file. This is an Android build and the upstream v8 version >>> used is http://v8.googlecode.com/svn/branches/bleeding_edge@3784 >>> >>> CAN_USE_THUMB_INSTRUCTIONS defined as 1. >>>> Are you defining CAN_USE_UNALIGNED_ACCESSES to 1 when compiling? >>> >>> >>> >>> ------ Compilation options start here ----- >>> >>> target thumb C++: libv8 <= external/v8/src/accessors.cc >>> prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-g++ -c >>> -fno-exceptions -Wno-multichar -msoft-float -fpic -ffunction-sections >>> -funwind-tables -fstack-protector -fno-short-enums -march=armv6j >>> -mtune=arm1136jf-s -pipe -fomit-frame-pointer -D__ARM_ARCH_5__ >>> -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -mthumb-interwork >>> -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self >>> -Wpointer-arith -Werror=return-type -Werror=non-virtual-dtor -Werror=address >>> -Werror=sequence-point -DNDEBUG -g -Wstrict-aliasing=2 -finline-functions >>> -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop >>> -frename-registers -DNDEBUG -UDEBUG -fvisibility-inlines-hidden -DANDROID >>> -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith >>> -Wsign-promo -Werror=return-type -Werror=non-virtual-dtor -Werror=address >>> -Werror=sequence-point -DNDEBUG -UDEBUG -mthumb -Os -fomit-frame-pointer >>> -fno-strict-aliasing -finline-limit=64 -fno-rtti -Wno-endif-labels >>> -Wno-import -Wno-format -fno-exceptions -DENABLE_DEBUGGER_SUPPORT >>> -DV8_NATIVE_REGEXP -fpic -funwind-tables -fstack-protector -fno-short-enums >>> -fmessage-length=0 -finline-functions -fno-inline-functions-called-once >>> -fgcse-after-reload -frerun-cse-after-loop -frename-registers >>> -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -MD * >>> -mfloat-abi=soft* -DARM -DV8_TARGET_ARCH_ARM -MD >>> >>> >>> >>> >>> 2011/7/11 Søren Gjesse <[email protected]> >>> >>>> You can take a look at the SConstruct file for building with SCons on >>>> the root of the V8 repository. It has the following handling of the >>>> different floating point options supported by V8. >>>> >>>> 'armeabi:soft' : { >>>> 'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0'], >>>> 'simulator:none': { >>>> 'CCFLAGS': ['-mfloat-abi=soft'], >>>> } >>>> }, >>>> 'armeabi:softfp' : { >>>> 'CPPDEFINES' : ['USE_EABI_HARDFLOAT=0', >>>> 'CAN_USE_VFP_INSTRUCTIONS'], >>>> 'simulator:none': { >>>> 'CCFLAGS': ['-mfloat-abi=softfp'], >>>> } >>>> }, >>>> 'armeabi:hard' : { >>>> 'CPPDEFINES' : ['USE_EABI_HARDFLOAT=1', >>>> 'CAN_USE_VFP_INSTRUCTIONS'], >>>> 'simulator:none': { >>>> 'CCFLAGS': ['-mfloat-abi=hard'], >>>> } >>>> } >>>> >>>> Regards, >>>> Søren >>>> >>>> >>>> On Mon, Jul 11, 2011 at 12:28, Rodolph Perfetta < >>>> [email protected]> wrote: >>>> >>>>> At first glance it looks like you are trying to run VFP code on a CPU >>>>> which does not have VFP. The JIT checks the CPU at runtime, so I presume >>>>> you >>>>> are compiling the C++ code with VFP support. Try updating the build system >>>>> to pass -'mfloat-abi=soft -mfpu=none' to the compiler. (and remove the >>>>> '-mfloat-abi=softfp' option). >>>>> >>>>> Cheers, >>>>> Rodolph,. >>>>> >>>>> >>>>> On 11 July 2011 10:47, Jose Manuel Cantera Fonseca < >>>>> [email protected]> wrote: >>>>> >>>>>> Hi there, >>>>>> >>>>>> Thank you for your responses. Trying to isolate the problem, I'm now >>>>>> using v8 outside webkit, i.e. through the 'v8shell' helper program, >>>>>> >>>>>> I have discovered that v8 is working fine but when an incorrect >>>>>> expression is given to the v8 shell, for instance a variable that does >>>>>> not >>>>>> exist, a fault occurs and the v8shell process dies. The log trace is >>>>>> below. >>>>>> >>>>>> Any idea? >>>>>> >>>>>> many thanks >>>>>> >>>>>> best >>>>>> >>>>>> >>>>>> ---- Log Trace --- >>>>>> >>>>>> *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** >>>>>> Build fingerprint: >>>>>> 'tmobile/opal/sapphire/sapphire:2.2.1/FRG83/60505:user/release-keys' >>>>>> pid: 511, tid: 511 >>> v8shell <<< >>>>>> signal 4 (SIGILL), fault addr 40860360 >>>>>> r0 00000000 r1 408453b5 r2 408453b5 r3 00000000 >>>>>> r4 00000002 r5 4040a2a5 r6 4087e1e1 r7 00000000 >>>>>> r8 4040a13d r9 4083e12d 10 0013f620 fp beba66f4 >>>>>> ip 0014b5dc sp beba66dc lr 408ccd2c pc 40860360 cpsr 40000010 >>>>>> #00 pc 40860360 >>>>>> #01 lr 408ccd2c <unknown> >>>>>> >>>>>> code around pc: >>>>>> 40860340 e5104001 e5d44007 e3540084 1affffc3 >>>>>> 40860350 e2407001 ed977b01 ea000002 e1a070c0 >>>>>> 40860360 ee077a90 eeb87be7 e3110001 0a000006 >>>>>> 40860370 e5114001 e5d44007 e3540084 1affffb7 >>>>>> 40860380 e2417001 ed976b01 ea000002 e1a070c1 >>>>>> >>>>>> code around lr: >>>>>> 408ccd0c e52d0004 e59f0260 e52d0004 e598200b >>>>>> 408ccd1c e5920027 e49d1004 e1a0e00f e59ff24c >>>>>> 408ccd2c e52d0004 e59f2248 e1a0e00f e59ff244 >>>>>> 408ccd3c e51b8004 e52d0004 e598200b e5920023 >>>>>> 408ccd4c e52d0004 e59f2230 e1a0e00f e59ff22c >>>>>> >>>>>> stack: >>>>>> beba669c 0009b1c9 /system/bin/v8shell >>>>>> beba66a0 00000002 >>>>>> beba66a4 beba66dc [stack] >>>>>> beba66a8 beba66f4 [stack] >>>>>> beba66ac beba66d0 [stack] >>>>>> beba66b0 beba66f4 [stack] >>>>>> beba66b4 00000002 >>>>>> beba66b8 0009b19d /system/bin/v8shell >>>>>> beba66bc 4085e234 >>>>>> beba66c0 4085e234 >>>>>> beba66c4 4085e1c1 >>>>>> beba66c8 beba66f4 [stack] >>>>>> beba66cc beba66e0 [stack] >>>>>> beba66d0 df002777 >>>>>> beba66d4 e3a070ad >>>>>> beba66d8 408453b5 >>>>>> #00 beba66dc 40844945 >>>>>> beba66e0 40834e69 >>>>>> beba66e4 4082ec2d >>>>>> beba66e8 4083e12d >>>>>> beba66ec 4083441d >>>>>> beba66f0 4040a13d >>>>>> beba66f4 beba6714 [stack] >>>>>> beba66f8 408cc5b4 >>>>>> beba66fc 40407ac9 >>>>>> beba6700 40844945 >>>>>> beba6704 4082e361 >>>>>> beba6708 40844945 >>>>>> beba670c 40833bed >>>>>> beba6710 4082e329 >>>>>> beba6714 beba672c [stack] >>>>>> beba6718 40874bac >>>>>> beba671c 40408469 >>>>>> beba6720 4082e361 >>>>>> >>>>>> >>>>>> -------------- >>>>>> >>>>>> >>>>>> 2011/7/8 Søren Gjesse <[email protected]> >>>>>> >>>>>>> Normally target CPU setup is handled by preprocessor defines set by >>>>>>> the compiler. Look at src/arm/constants-arm.h to see what is checked >>>>>>> for. >>>>>>> With an ARMv6 you should end up >>>>>>> with CAN_USE_ARMV6_INSTRUCTIONS, CAN_USE_ARMV5_INSTRUCTIONS >>>>>>> and CAN_USE_THUMB_INSTRUCTIONS defined as 1. >>>>>>> >>>>>>> Are you defining CAN_USE_UNALIGNED_ACCESSES to 1 when compiling? >>>>>>> >>>>>>> Do you have any idea whether the runtime issue you have is due to JIT >>>>>>> code generated by V8? >>>>>>> >>>>>>> Regards, >>>>>>> Søren >>>>>>> >>>>>>> On Fri, Jul 8, 2011 at 08:47, Jose Manuel Cantera Fonseca < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Do I need to set any special compilation flag? >>>>>>>> >>>>>>>> Thanks >>>>>>>> El 07/07/2011 17:31, "Rodolph Perfetta" < >>>>>>>> [email protected]> escribió: >>>>>>>> >>>>>>>> > v8 will work on an ARMv6 cpu though Crankshaft (the optimising >>>>>>>> compiler) >>>>>>>> > will not be used. >>>>>>>> > >>>>>>>> > Cheers, >>>>>>>> > Rodolph. >>>>>>>> > >>>>>>>> > On 7 July 2011 16:25, Jose Manuel Cantera Fonseca < >>>>>>>> > [email protected]> wrote: >>>>>>>> > >>>>>>>> >> Hi there, >>>>>>>> >> >>>>>>>> >> I'm trying to run v8 together with Webkit in a custom Android >>>>>>>> build for HTC >>>>>>>> >> Dream. >>>>>>>> >> >>>>>>>> >> I'm having problems at runtime, thus I'm wondering if v8 is >>>>>>>> supported on >>>>>>>> >> the HTC Magic CPU: >>>>>>>> >> >>>>>>>> >> Qualcomm MSM 7201A 528 Mhz (see all the details below) >>>>>>>> >> >>>>>>>> >> thanks for your help >>>>>>>> >> >>>>>>>> >> all the best >>>>>>>> >> >>>>>>>> >> *Type:*MSM7201A *Manufacturer:*Qualcomm< >>>>>>>> http://en.wikipedia.org/wiki/Qualcomm> >>>>>>>> >>>>>>>> >> *Year Released:*2008 *Predecessor:*32bit Qualcomm MSM7200A * >>>>>>>> >> Characteristics**CPU Structure (complexity):* RISC< >>>>>>>> http://pdadb.net/index.php?m=cpu&id=a7201a&c=qualcomm_msm7201a#> >>>>>>>> >> *Width of Machine Word:*32 bit *Primary (RAM) Data bus:*32 bit >>>>>>>> *Instruction >>>>>>>> >> Set**Supported Instruction Set(s):* ARMv6*CPU Core< >>>>>>>> http://pdadb.net/index.php?m=cpu&id=a7201a&c=qualcomm_msm7201a#> >>>>>>>> >> :* ARM1136EJ-S *Clock Frequencies**Recommanded Maximum Clock >>>>>>>> Frequency:*528 MHz >>>>>>>> >> *Technology**Semiconductor< >>>>>>>> http://pdadb.net/index.php?m=cpu&id=a7201a&c=qualcomm_msm7201a#> >>>>>>>> >>>>>>>> >> Technology:* CMOS*Minimum Feature Size:* 65 nm *Additional >>>>>>>> Details**Special >>>>>>>> >> Features:* ARM9 coprocessor, Embedded QDSP4000 and QDSP5000 DSP >>>>>>>> (GSM, >>>>>>>> >> GPRS/EGPRS Multislot Class 12, EDGE, UMTS/WCDMA, HSDPA, HSUPA, >>>>>>>> MBMS >>>>>>>> >> baseband), Embedded gpsOne GPS module, Qcamera, Qtv, Qcamcorder, >>>>>>>> >> Qvideophone, Adreno 130 GPU, OpenGL ES 1.1, OpenVG 1.1, EGL 1.3, >>>>>>>> Direct3D >>>>>>>> >> Mobile, SVGT 1.2, Direct Draw, GDI >>>>>>>> >> >>>>>>>> >> -- >>>>>>>> >> v8-users mailing list >>>>>>>> >> [email protected] >>>>>>>> >> http://groups.google.com/group/v8-users >>>>>>>> > >>>>>>>> > -- >>>>>>>> > v8-users mailing list >>>>>>>> > [email protected] >>>>>>>> > http://groups.google.com/group/v8-users >>>>>>>> >>>>>>>> -- >>>>>>>> v8-users mailing list >>>>>>>> [email protected] >>>>>>>> http://groups.google.com/group/v8-users >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> v8-users mailing list >>>>>>> [email protected] >>>>>>> http://groups.google.com/group/v8-users >>>>>>> >>>>>> >>>>>> -- >>>>>> v8-users mailing list >>>>>> [email protected] >>>>>> http://groups.google.com/group/v8-users >>>>>> >>>>> >>>>> -- >>>>> v8-users mailing list >>>>> [email protected] >>>>> http://groups.google.com/group/v8-users >>>>> >>>> >>>> -- >>>> v8-users mailing list >>>> [email protected] >>>> http://groups.google.com/group/v8-users >>>> >>> >>> -- >>> v8-users mailing list >>> [email protected] >>> http://groups.google.com/group/v8-users >>> >> >> -- >> v8-users mailing list >> [email protected] >> http://groups.google.com/group/v8-users >> > > -- > v8-users mailing list > [email protected] > http://groups.google.com/group/v8-users > -- v8-users mailing list [email protected] http://groups.google.com/group/v8-users
