問題タブ [illegal-instruction]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - SIGILL の理解とトラブルシューティング
armv7 ベースのターゲット用に、erlang 用の rocksdb のコピー (gitlab.com/Vagabond1/erlang-rocksdb@8708fe8) を作成しました。iMX6 SoloX プロセッサです。cpuinfo は次のとおりです。
コンパイル済みをロードするプログラムがありますがliberocksdb.so
、SIGILL でクラッシュします。バック トレースは次のとおりです。
分解は次のとおりです。
私はこの分野の専門家ではありませんが、私の知る限り、udiv
私の CPU では命令が違法であるため、プログラムがクラッシュしました。私はARM開発者のウェブサイトをチェックしました.これはCortex M3命令であり、私のCPUはCortex M4であると信じているので、この命令が必要だと思いますか?
おそらく私の分析は間違っていて、これは何か別のものですか?
私のクロス コンパイルは、その CPU と rootfs のクロス ツールチェーンを使用して行われ、-march=armv7-a -marm -mfpu=neon -mfloat-abi=hard
互換性のあるバイナリを提供する必要があるなどの引数が含まれていました。
ありがとう