This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: coldfire and soft-float
Luigi 'Comio' Mantellini wrote:
Kay, Thanks for your support.
this is the config.gcc (part of):
..
m68k-*-uclinux*) # Motorola m68k/ColdFire running uClinux
# with uClibc, using the new GNU/Linux-style
# ABI.
default_m68k_cpu=68020
default_cf_cpu=5206
tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h flat.h m68k/linux.h m68k/uclinux.h ./sysroot-suffix.h"
tm_defines="${tm_defines} MOTOROLA=1 UCLIBC_DEFAULT=1"
extra_options="${extra_options} linux.opt"
tmake_file="m68k/t-floatlib m68k/t-uclinux m68k/t-mlibs"
use_fixproto=no
;;
m68k-*-linux*) # Motorola m68k's running GNU/Linux
# with ELF format using glibc 2
# aka the GNU/Linux C library 6.
default_m68k_cpu=68020
default_cf_cpu=5475
tm_file="${tm_file} dbxelf.h elfos.h svr4.h linux.h m68k/linux.h"
extra_options="${extra_options} m68k/ieee.opt"
tm_defines="${tm_defines} MOTOROLA=1"
# if not configured with --enable-sjlj-exceptions, bump the
# libgcc version number
if test x$sjlj != x1; then
tmake_file="$tmake_file m68k/t-slibgcc-elf-ver"
fi
;;
..
The target m68k-*-linux* doesn't set any tmake_file... I think that ïthe
following should be added :
tmake_file="m68k/t-floatlib m68k/t-mlibs m68k/t-m68kbare"
The 'm68020/m68881' and 'mcf5475' seem to be the defaults for Linux but
'm68020/msoft-float' and 'mcf5206' for uClinux... So here we should talk
only about those (two) uClinux configurations. The 'oldabi' one or the
"new GNU/Linux-style ABI" being needed?
The startups, C library names memory layout ("flat") etc are different
between GNU/Linux and "Linux with uClibc" aka uClinux...
Ok, here seems to be a really silly bug, the target name
'm68k-linux-uclibc' isn't using the right (here 'm68k-*-uclinux*')
template at all !!! It uses the 'm68k-*-linux*' template which of
course is totally wrong :( Also all the other uClibc systems are
expecting the '-uclinux', not the de-facto '-linux-uclibc' target
name, only the new 'bfin-*-linux-uclibc' seems to be "updated" to
use the new name...
When seeing this, I remember there being patches for GCC in the
uClibc case which changed these templates. But they never were
moved to the GCC sources I think...
So please simply change the first template name to be :
m68k-*-linux-uclibc*) # Motorola m68k/ColdFire running uClinux
# with uClibc, using the new GNU/Linux-style
# ABI.
and then see what you will get !