2016-01-19 2 views
3

J'ai un périphérique dont le processeur est armv7 mais sans fpu.comment compiler node-v4.2.4 avec armv7 sans fpu?

Je peux compiler le noeud avec l'option --with-arm-float-abi = soft, mais quand je cours "node", "instruction illégale (core dumped)" est arrivé.

[email protected]:/tmp/target/bin# ./node -v  
v4.2.4  
[email protected]:/tmp/target/bin# ./node --v8-options | head -2  
target arm v7 vfp3 soft  
ARMv7=1 VFP3=1 VFP32DREGS=0 NEON=0 SUDIV=0 UNALIGNED_ACCESSES=1 
MOVW_MOVT_IMMEDIATE_LOADS=0 COHERENT_CACHE=0 USE_EABI_HARDFLOAT=0 

L'outil objdump m'a montré qu'il ya des instructions (comme vpush, PDPV ...) en cours d'utilisation qui ne sont pas pris en charge par mon cpu (bras v7 sans FPU). Pour la suite, j'ai trouvé openssl et v8 dans la source du noeud, en utilisant les instructions de fpu.

la ligne de configuration comme ci-dessous

./configure \ 
    --prefix=target \ 
    --dest-cpu=arm \ 
    --dest-os=linux \ 
    --without-snapshot \ 
    --with-arm-float-abi=soft \ 
    --fully-static 

quelqu'un peut me dire comment compiler noeud-V4.2.4 sans FPU pris en charge?

code source: nodejs-v4.2.2

version bras: Cortex-A9 Floating-Point Unit (FPU)(Optional)

Répondre

2

Après plusieurs essais, j'ai utilisé nœud v0.10.14 à la place, qui fonctionne bien sans FPU pris en charge. ;-)

Donc je ne sais toujours pas comment compiler nodejs-v4.2.2 sans fpu supporté.

+0

même problème ici, j'ai désactivé vfpu3 avec succès en modifiant les fichiers de configuration des sources v8 dans le répertoire deps de dir, par le fait que j'ai toujours activé vfpu2 en exécutant 'node --v8-options'. J'abandonne ... utilise node-v0.10.45 à la place. – zyanlu