Problems with m68k-coff-ld
Josef Wolf
jw@raven.inka.de
Sun Sep 7 07:09:00 GMT 1997
Hi there!
I have successfully built (and used) an m68k-coff cross-compiler hosted
on a linux box. But there are still some problems with it. Maybe someone
out there could help me with my problems?
First, the versions of the toolchain:
-rw-r----- 1 jw jw 4480026 Jul 15 1996 binutils-2.7.tar.gz
-rw-r----- 1 jw jw 7132291 Aug 14 1996 gcc-2.7.2.1.tar.gz
-rw-r----- 1 jw jw 19184 Jan 6 1996 crossgcc-gcc-2.7.2.patch
-rw-r----- 1 jw jw 1454028 Jan 6 1996 newlib-1.7.0.tar.gz
And (not installed yet...)
-rw-r----- 1 jw jw 128790 Jul 21 1996 gdb-4.16-bdm-patches.tgz
-rw-r----- 1 jw jw 464522 Apr 24 1996 gdb-4.16-testsuite.tar.gz
-rw-r----- 1 jw jw 5996836 Apr 24 1996 gdb-4.16.tar.gz
Now the Problems:
- Things like
static char *foo=NULL;
void bar (void)
{
if (foo) do_something (foo);
}
fail because foo won't get initialized properly to NULL. Seems to be a
problem with the startup-code. Currently it clears the BSS segment and
copies the initialzed data (DATA segment) from ROM into RAM. Do I need
to do more?
- With -g the compiler generates .file statements, which the linker strips
off. So I can't do source-level-debugging :-(). Output-format is -ieee.
- When using the standard-library (newlib) the linker always catches the
68020-version of the library. This leads to problems with my 68332 :-()
This problem appears when I use m68k-coff-ld directly as well as when
I use it through m68k-coff-gcc. The --verbose output seems to be OK, so
I assume the libraries are not properly built? Here's the output:
m68k-coff-gcc -Wl,--verbose -ansi -Wall -g3 --verbose -m68332 -msoft-float -T ldscript.be -o be.iee crt0.o main.o -lc
Reading specs from /usr/local/m68k-emb/lib/gcc-lib/m68k-coff/2.7.2.1/specs
gcc version 2.7.2.1
/usr/local/m68k-emb/m68k-coff/bin/ld -o be.iee -L/usr/local/m68k-emb/lib/gcc-lib/m68k-coff/2.7.2.1/m68000/msoft-float -L/usr/local/m68k-emb/lib/gcc-lib/m68k-coff/2.7.2.1 -L/usr/local/m68k-emb/m68k-coff/lib/m68000/msoft-float -L/usr/local/m68k-emb/m68k-coff/lib -T ldscript.be --verbose crt0.o main.o -lc -lgcc -lg -lc -lgcc
ld version 2.7 (with BFD 2.7)
Supported emulations:
m68kcoff
attempt to open crt0.o succeeded
crt0.o
attempt to open main.o succeeded
main.o
attempt to open /usr/local/m68k-emb/lib/gcc-lib/m68k-coff/2.7.2.1/m68000/msoft-float/libc.a failed
attempt to open /usr/local/m68k-emb/lib/gcc-lib/m68k-coff/2.7.2.1/libc.a failed
attempt to open /usr/local/m68k-emb/m68k-coff/lib/m68000/msoft-float/libc.a succeeded
(/usr/local/m68k-emb/m68k-coff/lib/m68000/msoft-float/libc.a)ctype_.o
[ ... many lines deleted ... ]
(/usr/local/m68k-emb/m68k-coff/lib/m68000/msoft-float/libc.a)callocr.o
attempt to open /usr/local/m68k-emb/lib/gcc-lib/m68k-coff/2.7.2.1/m68000/msoft-float/libgcc.a succeeded
(/usr/local/m68k-emb/lib/gcc-lib/m68k-coff/2.7.2.1/m68000/msoft-float/libgcc.a)_mulsi3.o
[ ... many lines deleted ... ]
(/usr/local/m68k-emb/lib/gcc-lib/m68k-coff/2.7.2.1/m68000/msoft-float/libgcc.a)_floatex.o
attempt to open /usr/local/m68k-emb/lib/gcc-lib/m68k-coff/2.7.2.1/m68000/msoft-float/libg.a failed
attempt to open /usr/local/m68k-emb/lib/gcc-lib/m68k-coff/2.7.2.1/libg.a failed
attempt to open /usr/local/m68k-emb/m68k-coff/lib/m68000/msoft-float/libg.a succeeded
attempt to open /usr/local/m68k-emb/lib/gcc-lib/m68k-coff/2.7.2.1/m68000/msoft-float/libc.a failed
attempt to open /usr/local/m68k-emb/lib/gcc-lib/m68k-coff/2.7.2.1/libc.a failed
attempt to open /usr/local/m68k-emb/m68k-coff/lib/m68000/msoft-float/libc.a succeeded
attempt to open /usr/local/m68k-emb/lib/gcc-lib/m68k-coff/2.7.2.1/m68000/msoft-float/libgcc.a succeeded
Many thanks in Advance!
More information about the crossgcc
mailing list