龍芯編譯器指針分析移植 小記:

 

 

1 環境配置

 

移植之前先得有代碼,所以先從龍芯組的SVN上CO了一份代碼,在我們組的X86_64機器上開始倒騰。

在$TOOLROOT下直接make,不過,問了一下需要在osprey下編譯,接着make,仍然不過

提示信息:

C++    /home/cmchen/OPEN_64/lgcc/osprey/targia32_loongson/libinstr2/../../instrumentation/libinstr2/dump.cxx

sh: mips64el-st-linux-gnu-g++: command not found 

缺少了mips的tool,從龍芯組拷來了STLSR22的binary,在.bashrc裏添加了新的路徑。這裏需要注意的是由於mips64el-st-linux-gnu-g++等可執行文件和cc1,ld,as等在同一個文件夾,如果想用本地的gcc的話,則需要他們挪到其他文件夾下。

接下來順利make, make install。

 

實際測試,運行了一個小程序,出錯,提示信息:

/home/cmchen/OPEN_64/lgcc/loongson-linux/lib/as: /lib/libc.so.6: version `GLIBC_2.8' not found (required by /home/cmchen/OPEN_64/lgcc/loongson-linux/lib/as)

/home/cmchen/OPEN_64/lgcc/loongson-linux/lib/as: /lib/libc.so.6: version `GLIBC_2.7' not found (required by /home/cmchen/OPEN_64/lgcc/loongson-linux/lib/as)

由於open64自帶的as支持的是x86的指令,與MIPS後端不一致,因此用STLSR22中的mips64el-st-linux-gnu-as替換掉loongson-linux/lib中的as,可解決此問題。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章