[U-Boot-Users] [PATCH] ColdFire: Get information from the correct GCC

Shinya Kuribayashi skuribay at ruby.dti.ne.jp
Sat May 3 05:25:47 CEST 2008


Liew Tsi Chung wrote:
> when gcc version is 4.2. When it comes to linking, the $(shell $(CC)
> --version) becomes other value and select the -m5407 option with
> different libgcc.

I reverted this $(CC)-$(CROSS_COMPILE)gcc-conversion patch and built
with M54455EVB_config and CodeSourcery's freescale-coldfire-4.2-125-
m68k-uclinux-i686-pc-linux-gnu.tar.bz2. But couldn't reproduce.

---
[snip]
  :
make[1]: Entering directory `/home/skuribay/devel/u-boot.git/board/freescale/m54455evb'
m68k-uclinux-gcc -g  -Os   -ffixed-d7 -msep-data -D__KERNEL__ -DTEXT_BASE=0x04000000 -I/home/skuribay/devel/u-boot.git/include -fno-builtin -ffreestanding -nos
tdinc -isystem /opt/codesourcery/freescale-coldfire-4.2/bin/../lib/gcc/m68k-uclinux/4.2.3/include -pipe  -DCONFIG_M68K -D__M68K__ -mcpu=54455 -fPIC -DTEXT_BASE
=0x04000000 -Wall -Wstrict-prototypes -c -o m54455evb.o m54455evb.c
m68k-uclinux-gcc -g  -Os   -ffixed-d7 -msep-data -D__KERNEL__ -DTEXT_BASE=0x04000000 -I/home/skuribay/devel/u-boot.git/include -fno-builtin -ffreestanding -nos
tdinc -isystem /opt/codesourcery/freescale-coldfire-4.2/bin/../lib/gcc/m68k-uclinux/4.2.3/include -pipe  -DCONFIG_M68K -D__M68K__ -mcpu=54455 -fPIC -DTEXT_BASE
=0x04000000 -Wall -Wstrict-prototypes -c -o flash.o flash.c
m68k-uclinux-gcc -g  -Os   -ffixed-d7 -msep-data -D__KERNEL__ -DTEXT_BASE=0x04000000 -I/home/skuribay/devel/u-boot.git/include -fno-builtin -ffreestanding -nos
tdinc -isystem /opt/codesourcery/freescale-coldfire-4.2/bin/../lib/gcc/m68k-uclinux/4.2.3/include -pipe  -DCONFIG_M68K -D__M68K__ -mcpu=54455 -fPIC -DTEXT_BASE
=0x04000000 -Wall -Wstrict-prototypes -c -o mii.o mii.c
m68k-uclinux-ar crv libm54455evb.a m54455evb.o flash.o mii.o
a - m54455evb.o
a - flash.o
a - mii.o
make[1]: Leaving directory `/home/skuribay/devel/u-boot.git/board/freescale/m54455evb'
make -C /home/skuribay/devel/u-boot.git/board/freescale/m54455evb/ u-boot.lds
make[1]: Entering directory `/home/skuribay/devel/u-boot.git/board/freescale/m54455evb'
make[1]: Nothing to be done for `u-boot.lds'.
make[1]: Leaving directory `/home/skuribay/devel/u-boot.git/board/freescale/m54455evb'
UNDEF_SYM=`m68k-uclinux-objdump -x board/freescale/m54455evb/libm54455evb.a lib_generic/libgeneric.a board/freescale/common/libfreescale.a cpu/mcf5445x/libmcf5445x.a lib_m68k/libm68k.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a drivers/bios_emulator/libatibiosemu.a drivers/block/libblock.a drivers/dma/libdma.a drivers/hwmon/libhwmon.a drivers/i2c/libi2c.a drivers/input/libinput.a drivers/misc/libmisc.a drivers/mtd/libmtd.a drivers/mtd/nand/libnand.a drivers/mtd/nand_legacy/libnand_legacy.a drivers/mtd/onenand/libonenand.a drivers/net/libnet.a drivers/net/sk98lin/libsk98lin.a drivers/pci/libpci.a drivers/pcmcia/libpcmcia.a drivers/spi/libspi.a drivers/rtc/librtc.a drivers/serial/libserial.a drivers/usb/libusb.a drivers/video/libvideo.a common/libcommon.a libfdt/libfdt.a api/libapi.a post/libpost.a | \
                sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
                cd /home/skuribay/devel/u-boot.git && m68k-uclinux-ld -Bstatic -T /home/skuribay/devel/u-boot.git/board/freescale/m54455evb/u-boot.lds  -n -Ttext 0x04000000 $UNDEF_SYM cpu/mcf5445x/start.o \
                        --start-group lib_generic/libgeneric.a board/freescale/common/libfreescale.a cpu/mcf5445x/libmcf5445x.a lib_m68k/libm68k.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a drivers/bios_emulator/libatibiosemu.a drivers/block/libblock.a drivers/dma/libdma.a drivers/hwmon/libhwmon.a drivers/i2c/libi2c.a drivers/input/libinput.a drivers/misc/libmisc.a drivers/mtd/libmtd.a drivers/mtd/nand/libnand.a drivers/mtd/nand_legacy/libnand_legacy.a drivers/mtd/onenand/libonenand.a drivers/net/libnet.a drivers/net/sk98lin/libsk98lin.a drivers/pci/libpci.a drivers/pcmcia/libpcmcia.a drivers/spi/libspi.a drivers/rtc/librtc.a drivers/serial/libserial.a drivers/usb/libusb.a drivers/video/libvideo.a common/libcommon.a libfdt/libfdt.a api/libapi.a post/libpost.a board/freescale/m54455evb/libm54455evb.a --end-group -L /opt/codesourcery/freescale-coldfire-4.2/bin/../lib/gcc/m
68k-uclinux/4.2.3/msep-data -lgcc \
                        -Map u-boot.map -o u-boot
m68k-uclinux-objcopy --gap-fill=0xff -O srec u-boot u-boot.srec
m68k-uclinux-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin
skuribay at debian:~/devel/u-boot.git$ 

---

As already Wolfgang pointed out, `gcc -print-libgcc-file-name' of your
toolchain seems weird. This might be buildroot problem?

(1) Please show us the '-print-libgcc-file-name' part with your patch
    applied:

    $(CC) $(CFLAGS) -print-libgcc-file-name
    ---------------------------------------

    (without patch)
        /opt/freescale/usr/local/gcc-4.2.47-uclibc-0.9.47/
        m68k-uclinux/lib/gcc/m68k-uclinux/4.2.1/m5407/msep-data

    (with patch)
        /* we'd like to confirm this one */

(2) Could you try other toolchains, such as this one[1], in order to
    sort this out?

  Shinya

[1] http://www.codesourcery.com/gnu_toolchains/coldfire/download.html





More information about the U-Boot mailing list