[yocto] Patching gcc-4.7.2 to add support for Xilinx MicroBlaze

Elvis Dowson elvis.dowson at gmail.com
Fri Mar 8 08:45:31 PST 2013


Hi Khem,

On Mar 8, 2013, at 6:47 PM, Khem Raj <raj.khem at gmail.com> wrote:

>> | configure: error: cannot compute suffix of object files: cannot compile
>> | See `config.log' for more details.
>> | make: *** [configure-target-libgcc] Error 1
> 
> seems some missing header or libs but doesn't say much. where is config.log ?

Here is the build report against the gcc-4.7.2 build:

| checking for microblaze-poky-linux-gcc...  /tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/gcc-4.7.2/build.x86_64-linux.microblaze-poky-linux/./gcc/xgcc -B/tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/gcc-4.7.2/build.x86_64-linux.microblaze-poky-linux/./gcc/ -m32    -mhard-float  -isystem/tool/yocto/poky/build/tmp/sysroots/spartan-6-sp601-microblaze/usr/include -B/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/microblaze-poky-linux/bin/ -B/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/microblaze-poky-linux/lib/ -isystem /tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/microblaze-poky-linux/include -isystem /tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/microblaze-poky-linux/sys-include --sysroot=/tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/gcc-4.7.2/build.x86_64-linux.microblaze-poky-linux/tmpsysroot
| checking for suffix of object files... configure: error: in `/tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/gcc-4.7.2/build.x86_64-linux.microblaze-poky-linux/microblaze-poky-linux/libgcc':
| configure: error: cannot compute suffix of object files: cannot compile
| See `config.log' for more details.
| make: *** [configure-target-libgcc] Error 1
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (see /tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/temp/log.do_compile.31442 for further information)

Some of the errors in the libgcc/config.log file are as follows:

xgcc: error: unrecognized command line option '-m32'
configure:3355: $? = 0
configure:3344:  /tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/gcc-4.7.2/build.x86_64-linux.microblaze-poky-linux/./gcc/xgcc -B/tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/gcc-4.7.2/build.x86_64-linux.microblaze-poky-linux/./gcc/ -m32    -mhard-float  -isystem/tool/yocto/poky/build/tmp/sysroots/spartan-6-sp601-microblaze/usr/include -B/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/microblaze-poky-linux/bin/ -B/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/microblaze-poky-linux/lib/ -isystem /tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/microblaze-poky-linux/include -isystem /tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/microblaze-poky-linux/sys-include --sysroot=/tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/gcc-4.7.2/build.x86_64-linux.microblaze-poky-linux/tmpsysroot   -v >&5
xgcc: error: unrecognized command line option '-m32'
Reading specs from /tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/gcc-4.7.2/build.x86_64-linux.microblaze-poky-linux/./gcc/specs
COLLECT_GCC=/tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/gcc-4.7.2/build.x86_64-linux.microblaze-poky-linux/./gcc/xgcc
COLLECT_LTO_WRAPPER=/tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/gcc-4.7.2/build.x86_64-linux.microblaze-poky-linux/./gcc/lto-wrapper
Target: microblaze-poky-linux
Configured with: /tool/yocto/poky/build/tmp/work-shared/gcc-4.7.2-r19/gcc-4.7.2/configure --build=x86_64-linux --host=x86_64-linux --target=microblaze-poky-linux --prefix=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr --exec_prefix=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr --bindir=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/bin/microblaze-poky-linux.gcc-cross-initial --sbindir=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/bin/microblaze-poky-linux.gcc-cross-initial --libexecdir=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/libexec/microblaze-poky-linux.gcc-cross-initial --datadir=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/share --sysconfdir=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/etc --sharedstatedir=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/com --localstatedir=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/var --libdir=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/lib/microblaze-poky-linux.gcc-cross-initial --includedir=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/include --oldincludedir=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/include --infodir=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/share/info --mandir=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/share/man --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot=/tool/yocto/poky/build/tmp/sysroots/x86_64-linux --with-newlib --without-headers --disable-shared --disable-threads --disable-multilib --disable-__cxa_atexit --enable-languages=c --enable-target-optspace --program-prefix=microblaze-poky-linux- --with-sysroot=/tool/yocto/poky/build/tmp/sysroots/spartan-6-sp601-microblaze --with-build-sysroot=/tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/gcc-4.7.2/build.x86_64-linux.microblaze-poky-linux/tmpsysroot --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --with-system-zlib --disable-lto --disable-plugin --enable-decimal-float=no --disable-nls --enable-__cxa_atexit
Thread model: single
gcc version 4.7.2 (GCC) 
configure:3355: $? = 0
configure:3344:  /tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/gcc-4.7.2/build.x86_64-linux.microblaze-poky-linux/./gcc/xgcc -B/tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/gcc-4.7.2/build.x86_64-linux.microblaze-poky-linux/./gcc/ -m32    -mhard-float  -isystem/tool/yocto/poky/build/tmp/sysroots/spartan-6-sp601-microblaze/usr/include -B/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/microblaze-poky-linux/bin/ -B/tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/microblaze-poky-linux/lib/ -isystem /tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/microblaze-poky-linux/include -isystem /tool/yocto/poky/build/tmp/sysroots/x86_64-linux/usr/microblaze-poky-linux/sys-include --sysroot=/tool/yocto/poky/build/tmp/work/microblaze-poky-linux/gcc-cross-initial/4.7.2-r19/gcc-4.7.2/build.x86_64-linux.microblaze-poky-linux/tmpsysroot   -V >&5
xgcc: error: unrecognized command line option '-m32'
xgcc: error: unrecognized command line option '-V'
xgcc: fatal error: no input files
compilation terminated.


The arch-microblaze.inc file snippent is as follows: 

DEFAULTTUNE ?= "microblaze"

TUNEVALID[m32] = "Microblaze ELF32 standard ABI"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "m32", "-m32", "", d)}"
TUNE_ARCH .= "${@bb.utils.contains("TUNE_FEATURES", "m32", "microblaze", "", d)}"


Best regards,

Elvis Dowson


More information about the yocto mailing list