debainはgdbとgdbserverのクロスコンパイルを実現する


最近仕事が忙しくて、やっと休み時間を使って、何か書きましょう.テーマに入る前に、ヨーロッパカップのイタリア対ドイツの試合について話します(私はサッカーファンではありません.友达がサッカーファンで、彼に引っ張られて見られました).巴神が2番目のボールに入ったとき、1つのシーンにファンが涙を流しました.私はサッカーの魅力に感動し、この偉大なスポーツにも感じました.
最近armボードの上で开発をして、メモリの问题に出会って、私はemacsの中でgdbの远隔のデバッグを使うことに惯れて、半日探して交差するコンパイルのツールが连れていないでgdbを探し当てて海思SDKがどうしてないのか分からないので、自分で手动的に1つをコンパイルするしかなくて、自分のコンパイルの过程を记录したいと思って、みんなと一绪に分かち合いたいです.
1、gdbのダウンロード:ダウンロードアドレスは:http://ftp.gnu.org/gnu/gdb/gdb-7.2.tar.bz 2というファイルを例にとります.2、解凍:
      tar jxvf gdb-7.2a.tar.bz2

3、このディレクトリに入る:
      cd gdb-7.2

4、構成:
      ./configure --target=arm-linux --program-prefix=arm-linux- --prefix=/home/horst/gdb-build

注:--target=arm-linuxは、ターゲットプラットフォームがARMアーキテクチャで実行されるlinuxカーネルであることを意味します.--program-prefix=arm-linux-は、arm-linux-gdbなどの生成された実行可能ファイルの接頭辞を指し、--prefixは生成された実行可能ファイルがどのディレクトリにインストールされているかを指し、このディレクトリは実際の状況に応じて選択する必要があります.ディレクトリが存在しない場合は自動的に作成されます.もちろん、権限が十分であれば.
5、コンパイル、インストール
    mak;mak install

幸いなことに、--prefixが指定したディレクトリの下にbin、lib、shareの3つのサブディレクトリが生成されます.必要なarm-linux-gdbはその中のbinディレクトリの下にあります.
stripを呼び出して小さくすることができます.ハハ、それはあなた自身を見てみましょう...
1、さっきのgdb解凍後のディレクトリ:gdb-7.2、./gdb/gdbserverサブディレクトリ
2、配置
$ ./configure --target=arm-linux --host=arm-linux

ここの--hostは実行可能ファイルの実行を生成するプラットフォームとシステムを指定した:ARMプラットフォームで実行するLinuxシステム3、コンパイル
make CC=arm-hisiv100ntp-linux-gcc
makeでエラーが発生する可能性があります.生成したconfigをhファイル中
#define HAVE_SYS_REG_H 1
注釈を落とせばいい
同じように体積を減らすことができます
$ arm-hisiv100ntp-linux-strip gdbserver -o gdbserver-stripped 
$ ls -lh | grep gdbserver
任務が完成すれば仕事ができる