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 !