On 03/25/2014 10:17 AM, 许久成 wrote:
Hi All,
We run into an issue when use e500mc toolchain g++ to compile c++
code for p2020 platform, the code as below:
Hmm, p2020 should be e500 core rather than e500mc. Additionally, you
should use gdb to debug it, and check which instruction is illegal.
Thanks
Wei
main.c
#include <iostream>
using namespace std;
int main(void) {
cout << "asdfasdfasdfasdf";
return 0;
}
compile it with command "powerpc-fls-linux-g++ main.c" and the output
file's name is a.out, download the binary to p2020rdb board, but the
console prints the error log "Illegal instruction".
It is all right on p2041 platform.
The version of toolchian:
Configured with:
/local/workspace/yocto-iso-make/p4080ds/build_p4080ds_release/tmp/work-shared/gcc-4.6.2+svnr180516-r29+fsl.6/gcc-4_6-branch/configure
--build=i686-linux --host=i686-fslsdk-linux --target=powerpc-fsl-linux
--prefix=/opt/fsl/1.2/sysroots/i686-fslsdk-linux/usr
--exec_prefix=/opt/fsl/1.2/sysroots/i686-fslsdk-linux/usr
--bindir=/opt/fsl/1.2/sysroots/i686-fslsdk-linux/usr/bin/ppce500mc-fsl-linux
--sbindir=/opt/fsl/1.2/sysroots/i686-fslsdk-linux/usr/bin/ppce500mc-fsl-linux
--libexecdir=/opt/fsl/1.2/sysroots/i686-fslsdk-linux/usr/libexec/ppce500mc-fsl-linux
--datadir=/opt/fsl/1.2/sysroots/i686-fslsdk-linux/usr/share
--sysconfdir=/opt/fsl/1.2/sysroots/i686-fslsdk-linux/etc
--sharedstatedir=/opt/fsl/1.2/sysroots/i686-fslsdk-linux/com
--localstatedir=/opt/fsl/1.2/sysroots/i686-fslsdk-linux/var
--libdir=/opt/fsl/1.2/sysroots/i686-fslsdk-linux/usr/lib/ppce500mc-fsl-linux
--includedir=/opt/fsl/1.2/sysroots/i686-fslsdk-linux/usr/include
--oldincludedir=/opt/fsl/1.2/sysroots/i686-fslsdk-linux/usr/include
--infodir=/opt/fsl/1.2/sysroots/i686-fslsdk-linux/usr/share/info
--mandir=/opt/fsl/1.2/sysroots/i686-fslsdk-linux/usr/share/man
--disable-silent-rules --disable-dependency-tracking
--with-libtool-sysroot=/local/workspace/yocto-iso-make/p4080ds/build_p4080ds_release/tmp/sysroots/i686-nativesdk-fslsdk-linux
--with-gnu-ld --enable-shared --enable-languages=c,c++
--enable-threads=posix --disable-multilib --enable-c99
--enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch
--program-prefix=powerpc-fsl-linux- --enable-lto --enable-libssp
--disable-bootstrap --disable-libgomp --disable-libmudflap
--with-system-zlib --with-linker-hash-style=gnu
--enable-cheaders=c_global
--with-local-prefix=/opt/fsl/1.2/sysroots/ppce500mc-fsl-linux/usr
--with-gxx-include-dir=/opt/fsl/1.2/sysroots/ppce500mc-fsl-linux/usr/include/c++
--with-build-time-tools=/local/workspace/yocto-iso-make/p4080ds/build_p4080ds_release/tmp/sysroots/i686-linux/usr/powerpc-fsl-linux/bin
--with-sysroot=/opt/fsl/1.2/sysroots/ppce500mc-fsl-linux
--with-build-sysroot=/local/workspace/yocto-iso-make/p4080ds/build_p4080ds_release/tmp/sysroots/p4080ds
--disable-libunwind-exceptions --disable-libssp --disable-libgomp
--disable-libmudflap
--with-mpfr=/local/workspace/yocto-iso-make/p4080ds/build_p4080ds_release/tmp/sysroots/i686-nativesdk-fslsdk-linux
--with-mpc=/local/workspace/yocto-iso-make/p4080ds/build_p4080ds_release/tmp/sysroots/i686-nativesdk-fslsdk-linux
--enable-nls --enable-__cxa_atexit --with-long-double-128
Thread model: posix
gcc version 4.6.2 (GCC)
Is e500mc family downward compitible with e500v2? C code can run
correctly on p2020 with the e500mc toolchain.
Thanks & Best Regards
Jiucheng
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev