configure: added --with-arm-fpu option - #14086
Conversation
|
Just FYI, |
|
When that pull request lands, vfpv3 will still be the default for armv7 systems. It won't fix the compilation issues on hardware using vfpv3-d16 (node doesn't compile on my at91sama5 microcontroller using the vfpv3 option). I didn't add vfpv2 because it was said to be "unsupported" in a comment (and you can also see it doesn't show in the list from v8 ...however maybe I should add vfp since it shows in that list). I also didn't want to add too many untested options, there are many fpu available on gcc (‘vfp’, ‘vfpv3’, ‘vfpv3-fp16’, ‘vfpv3-d16’, ‘vfpv3-d16-fp16’, ‘vfpv3xd’, ‘vfpv3xd-fp16’, ‘neon’, ‘neon-fp16’, ‘vfpv4’, ‘vfpv4-d16’, ‘fpv4-sp-d16’, ‘neon-vfpv4’, ‘fpv5-d16’, ‘fpv5-sp-d16’, ‘fp-armv8’, ‘neon-fp-armv8’, and ‘crypto-neon-fp-armv8’). I assume many of them are not really supported, but you would still be able to specify any fpu you want if this pull request gets accepted. Regardless of what the list in "--help" says. |
Right, just to clarify the intent of my comment was to give an update of what's coming soon, not to say that all issues for building Node.js on ARM are solved. Thanks for the clarifications! |
|
@misterdjules ... am I right to assume that this would not land here? This PR likely needs to be revisited. |
|
At this point, anything done here would need to happen in nodejs/node. Closing this here. |
|
Thank you! Why is this not merged yet? This patch is required to build node.js v0.12.7 on my nvidia tegra 2 (cortex-a9, vfpv3-d16, no neon, ubuntu 12.04, gcc 4.6, linux 3.4). My |
The configure script is currently using arm-fpu='vfpv3' as the hardcoded default.
This patch will add a --with-arm-fpu option that will allow the choice of other FPU hardware. Otherwise we would get an "Illegal instruction" error on runtime when using the v8 engine in ARM hardware that has a different floating point unit (I was having this problem on an at91sama5 microcontroller).
It might be advisable to use as default value "default" instead of "vfpv3". For consistency and to avoid having to update the default value in the future if v8 ever decides to drop support of vfpv3 like it did with vfpv2.
But since this would change the current default behavior ("default" currently falls back to "vfpv3-d16" in the version of v8 you are using), I would like to know your opinion about it, perhaps you have good reasons to have "vfpv3" as the default arm_fpu, instead of "vfpv3-d16".