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
