gcc MIPS交叉编译,二进制非法指令

时间:2020-12-24 15:06:21

标签: gcc mips cross-compiling

我在 qemu 上使用 Debian 8 mips。

我在主机操作系统上编译后运行二进制文件并收到错误 Illegal instruction

编译器命令行:

mips-linux-gnu-g++ -EB -O -march=mips32r2 struct_bit_fields.cc -o struct_bit_fields

编译时是否应该指定其他标志?

处理器:

system type             : MIPS Malta
processor               : 0
cpu model               : MIPS 20Kc V10.0  FPU V0.0
BogoMIPS                : 565.24
wait instruction        : no
microsecond timers      : yes
tlb_entries             : 48
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 1, address/irw mask: [0x0ff8]
ASEs implemented        : mips3d
shadow register sets    : 1
kscratch registers      : 0
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

gcc 版本:

Using built-in specs.
COLLECT_GCC=mips-linux-gnu-g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/mips-linux-gnu/6/lto-wrapper
Target: mips-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 6.3.0-18' 
--with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs 
--enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ 
--prefix=/usr --program-suffix=-6 --enable-shared 
--enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug 
--enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object 
--disable-libitm --disable-libsanitizer --disable-libquadmath --enable-plugin --enable-default-pie 
--with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo 
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-6-mips-cross/jre --enable-java-home 
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-6-mips-cross 
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-6-mips-cross 
--with-arch-directory=mips --with-ecj-jar=/usr/share/java/eclipse-ecj.jar 
--disable-libgcj --enable-multiarch --enable-multilib --with-arch-32=mips32r2 
--with-fp-32=xx --with-lxc1-sxc1=no --enable-targets=all --with-arch-64=mips64r2 
--enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu 
--target=mips-linux-gnu --program-prefix=mips-linux-gnu- 
--includedir=/usr/mips-linux-gnu/include
Thread model: posix
gcc version 6.3.0 20170516 (Debian 6.3.0-18)

0 个答案:

没有答案