GDB交叉編譯

zhijun發表於2024-11-07

GDB交叉編譯

1. 環境

  • 編譯環境:Ubuntu20.04
  • 目標平臺:RK3566

2. 下載gdb原始碼,我選擇使用10.1版本

https://ftp.gnu.org/gnu/gdb/?spm=a2c6h.12873639.article-detail.7.96081599YGoRcW

3. 解壓

$ tar -xvf gdb-10.1.tar.gz

4. configure配置

  • --prefix 指定編譯輸出路徑
  • CC 指定交叉編譯工具鏈
  • --host 指定目標平臺,一般設定為交叉編譯工具鏈的字首即可
gdb-10.1$ ./configure \
--host=aarch64-none-linux-gnu \
--prefix=$(pwd)/build \
CC=/home/jun/work/share/IG-20/rk3568/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc

5. 編譯

gdb-10.1$ make && make install

6. 檢視編譯輸出結果

7. 在目標機上安裝

  • 在目標機上建立/usr/local/gdb目錄

    $ sudo mkdir -p /usr/local/gdb
    
  • 將上一步編譯得到的build路徑下的所有內容都複製到/usr/local/gdb目錄下

  • 修改PATHLD_LIBRARY_PATH環境變數,使之能夠在任意路徑下執行gdb,在/etc/profile中新增如下語句

    # gdb path
    export PATH=$PATH:/usr/local/gdb/bin
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gdb/lib
    

  • 使/etc/profile立即生效

    $ source /etc/profile
    
  • 驗證gdb是否正常執行

相關文章