一,預備知識
交叉編譯工具路徑在/opt/fsl-imx-x11/3.14.52-1.1.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi。
交叉編譯工具預設尋找的靜态庫位置:/opt/fsl-imx-x11/3.14.52-1.1.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi/usr/lib。
i.MX6的交叉編譯工具沒有封裝好,使用gcc的時候,必須加上指令參數,如下面所示:
arm-poky-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/fsl-imx-x11/3.14.52-1.1.1/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi test.c -o test
二,開始編譯
1,老規矩,因為gdb依賴libtermcap,是以先編譯libtermcap。
這邊要注意,需要把在hisi3716上編譯過的termcap-1.3.1裡的configure拷貝過來,再進行修改。
原因是termcap在configure的時候不會檢查交叉編譯,在make的時候會recheck,然後修改configure腳本,
生成新的configure。針對i.MX6需要加上字尾的特殊性,我們可以跳過recheck,直接拿新的configure來用。
修改時,把ac_link和ac_compile的定義加上該交叉編譯gcc的指令參數。
configure過後,生成Makefile,
修改該Makefile,把CC定義後面加上該交叉編譯gcc的指令參數。
make & make install即可。
2,将編譯好的libtermcap.a放到交叉編譯工具鍊預設尋找的靜态庫位置。開始編譯gdb,
先修改configure腳本,将ac_link,ac_compile,we_are_ok這三處地方都加上該交叉
編譯gcc的指令參數。
執行configure時,加上--disable-werror。
順利生成Makefile後,修改它,在CC和CXX定義的地方加上該交叉編譯gcc的指令參數,
然後make & make install即可。
下面是傳送門,需要我上述修改的腳本可以到這裡下載下傳哦,
http://download.csdn.net/download/yuhengyue/10105503
祝君好運。