15

gcc-arm-linux-gnueabiを使用して組み込みアーム プロセッサ用にコンパイル-nostdlibし、c ライブラリとスタートアップ ファイルへの依存関係を削除しようとしています。チップには elf ファイルを解釈する方法がないため、 を使用しobjcopy -O binaryて elf ヘッダーをチップから削除できます。ただし、ビルド ID をそのままにしておくと、バイナリの出力の先頭にビルド ID が含まれるため、実行に失敗します。を使用してリンカー スクリプトのビルド ID を削除できますが、/DISCARD/ : { *(.note.gnu.build-id) *(.ARM.attributes) }リンカーは.note.gnu.build-id section discarded, --build-id ignored.. これは正常に機能し、コードはチップ上で正常に実行されますが、ビルド ID を渡してドロップする必要はありません。gccコマンドをリンカーに渡さずに渡すように指示する方法はあります--build-idか?

4

2 に答える 2

26

これらのオプションはあなたが望むことをすると思います:

-Wl,--build-id=none

style に none を渡すと、コマンド ラインの前にある --build-id オプションからの設定が無効になります。

ld マニュアル

于 2013-03-09T22:06:05.407 に答える