newlib does not pick up the right cross-compiling gcc
Ralf Corsepius
ralf.corsepius@rtems.org
Sat Feb 6 03:59:00 GMT 2010
On 02/05/2010 06:40 PM, Josef Wolf wrote:
> On Fri, Feb 05, 2010 at 04:10:24PM +0100, Josef Wolf wrote:
>
>> [ ... ] This works fine up to the versions I mentioned above.
>
> Sorry, I removed the version information by accident. My last successful
> build is binutils-2.16, gcc-3.3.6 and newlib-1.14.0
Pretty old ... ;)
>> If I try anything newer, I get failures again.
>
> For example, if I use newlib-1.18.0, I get this failure:
>
> m68k-unknown-elf-gcc -B/var/tmp/builds/crossgcc/build/newlib/m68k-unknown-elf/m5200/newlib/ -isystem /var/tmp/builds/crossgcc/build/newlib/m68k-unknown-elf/m5200/newlib/targ-include -isystem /var/tmp/builds/crossgcc/src/newlib-1.18.0/newlib/libc/include -B/var/tmp/builds/crossgcc/build/newlib/m68k-unknown-elf/m5200/libgloss/m68k -L/var/tmp/builds/crossgcc/build/newlib/m68k-unknown-elf/m5200/libgloss/libnosys -L/var/tmp/builds/crossgcc/src/newlib-1.18.0/libgloss/m68k -m5200 -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"1.18.0\" -DPACKAGE_STRING=\"newlib\ 1.18.0\" -DPACKAGE_BUGREPORT=\"\" -I. -I/var/tmp/builds/crossgcc/src/newlib-1.18.0/newlib/libc/machine/m68k -DCOMPACT_CTYPE -DHAVE_RENAME -DHAVE_SYSTEM -DMISSING_SYSCALL_NAMES -fno-builtin -DCOMPACT_CTYPE -DHAVE_RENAME -DHAVE_SYSTEM -DMISSING_SYSCALL_NAMES -fno-builtin -O2 -g -m5200 -c -o lib_a-memcpy.o `test -f 'memcpy.S' || echo '/var/tmp/builds/crossgcc/src/newlib-1.18.0/newlib/libc/ma
chine/m68k/'`memcpy.S
> /var/tmp/builds/crossgcc/src/newlib-1.18.0/newlib/libc/machine/m68k/memcpy.S: Assembler messages:
> /var/tmp/builds/crossgcc/src/newlib-1.18.0/newlib/libc/machine/m68k/memcpy.S:93: Error: invalid instruction for this architecture; needs 68000 or higher -- statement `dbra %d0,1b' ignored
> /var/tmp/builds/crossgcc/src/newlib-1.18.0/newlib/libc/machine/m68k/memcpy.S:106: Error: invalid instruction for this architecture; needs 68000 or higher -- statement `dbra %d1,1b' ignored
-m5200 a coldfire-cpu?
Seems to me, as if your m68k-*binutils and/or m68k-*gcc is/are too old
to be able to build newlib-1.18.0. IIRC, gcc-3.3.6 didn't support the
coldfire, but coldfire support was added to gcc some time during the
gcc-4.x release series (Unfortunately, I don't recall the details).
You could try bootstrap'ing the whole toolchain with current binutils
and gcc+newlib.
Ralf
More information about the Newlib
mailing list