[Buildroot] [PATCHv2 1/2] toolchain: add coldfire support

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Mon Jun 6 21:14:48 UTC 2016


Hello,

On Fri, 29 Apr 2016 19:51:23 +0200, Waldemar Brodkorb wrote:

> +config BR2_GCC_TARGET_ARCH
> +	default "m68k"		if BR2_m68k_m68k
> +	default "cf"		if BR2_m68k_cf

This change looks wrong. I've started testing m68k with external
toolchains, and m68k or cf are not valid -march= values. From the gcc
documentation:

'-march=ARCH'
     Generate code for a specific M680x0 or ColdFire instruction set
     architecture.  Permissible values of ARCH for M680x0 architectures
     are: '68000', '68010', '68020', '68030', '68040', '68060' and
     'cpu32'.  ColdFire architectures are selected according to
     Freescale's ISA classification and the permissible values are:
     'isaa', 'isaaplus', 'isab' and 'isac'.

     GCC defines a macro '__mcfARCH__' whenever it is generating code
     for a ColdFire target.  The ARCH in this macro is one of the
     '-march' arguments given above.

     When used together, '-march' and '-mtune' select code that runs on
     a family of similar processors but that is optimized for a
     particular microarchitecture.

So indeed, gcc complains with:

m68k-linux-gcc.br_real: error: unrecognized argument in option '-march=m68k'
m68k-linux-gcc.br_real: note: valid arguments to '-march=' are: 68000 68010 68020 68030 68040 68060 cpu32 isaa isaaplus isab isac
m68k-linux-gcc.br_real: error: unrecognized argument in option '-march=m68k'
m68k-linux-gcc.br_real: note: valid arguments to '-march=' are: 68000 68010 68020 68030 68040 68060 cpu32 isaa isaaplus isab isac
m68k-linux-gcc.br_real: error: unrecognized argument in option '-march=m68k'
m68k-linux-gcc.br_real: note: valid arguments to '-march=' are: 68000 68010 68020 68030 68040 68060 cpu32 isaa isaaplus isab isac

You can reproduce with:

BR2_m68k=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-m68k-68040-full-2016.05-2-g5dabb45.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_NPTL is not set
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
# BR2_TARGET_ROOTFS_TAR is not set

Where did this change came from? Do you really need those values passed
as --with-arch when configuring gcc?

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com


More information about the buildroot mailing list