ソフトウェア浮動小数点エミュレーションを使用して ARM 用 Node.js v4 をビルドする際の問題

ソフトウェア浮動小数点エミュレーションを使用して ARM 用 Node.js v4 をビルドする際の問題

私のチームは、デバイス構成用の Web バックエンドとして Node.js を実行する組み込み Linux OS 上で製品を開発しています。ハードウェア FPU のない ARM プロセッサを搭載したシステムにコードを移植しています (以前の製品には FPU がありました)。次のコンパイラ オプションを使用して Node.js をコンパイルしました。

--with-arm-float-abi=soft

そして

--with-arm-float-abi=softfp

しかし、どちらの場合も、Node.js はハードウェア浮動小数点を行おうとするため、実行時に不正な命令でクラッシュします。実行できnode --version、バージョンを出力して終了するため、これは V8 エンジンにあるようです。ソースは確認していませんが、バージョン番号を出力するためだけに V8 を起動しているわけではないと思います。

ここで何が欠けているのか、何かお分かりですか? 役に立つなら makefile 全体を投稿することもできますが、この問題ではノイズのようです。ハードウェア浮動小数点を持たない ARM プロセッサ用に Node.js (バージョン 0.10 以降) をビルドしたことがある人を見つけて、欠けている可能性のある構成/ビルド オプションを教えていただければと思います。または、上記のオプションは機能するはずで、単に間違っているだけだと教えてください。

答え1

私も同じ問題を抱えていました。ファイルに追加することで解決しました設定.gypi次の2行:

'v8_can_use_fpu_instructions%': 'false', 'v8_use_mips_abi_hardfloat%': 'false',

関連情報