RT...最近在研究openwrt(mipsle架构)上运行go语言编译出来的程序...一运行就报"Illegal instruction"这样的错误...百度和Google搜索了一遍
得出两种解决方案.(PS:更新一遍.当时写这个文档的时候没有发现Golang 1.9还是1.10版本增加了模拟软浮点类型.)
0.使用Golang1.10版本编译时带上GOMIPS=softfloat 进行编译即可
GOMIPS=softfloat
1.开启openwrt内核中的FPU
开启方法是在openwrt源码目录中执行
make kernel_menuconfig
然后找到MIPS FPU Emulator
(图片来自网络)
开启之后重新编译openwrt源码.
但是我并没有在openwrt中发现此选项...连最新的chaos_calmer源码目录中也未发现此选项....
2.使用Go1.8.3打补丁方式重新编译Go1.8.3
首先要准备3个文件