[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] Can't re-make 1.15.6



Hi,

On Mon, Feb 07, 2000 at 12:44:49AM -0600, Michael White wrote:
> >Hello!
> >
> >> gcc: Internal compiler error: program ld got fatal signal 10
> >
> >Are you sure you use the latest ld from binutils 2.9.1 and the new
> >libraries? Are you sure you converted all old libraries to the new format?
> 
> Well, I upgraded gcc to 2.9.1, pl 66 (from Frank's FTP site).  Still the
> same thing.  As for libraries, I grabbed the latest (as of last week) from
> the SpareMiNT site (0.53-1).  Do I need to convert these?  If so, how
> do I convert them?

Even gcc 2.9.5 would work together with the old linker provided that the
spec file matches your system.

I would recommend the following: Check if all your libraries are in the
new format:

	nm /usr/local/lib/lib*.a /usr/lib/lib*.a >/dev/null

Any errors? Rename old libraries so that they won't get linked.

Cut and paste the command line that links the MiNT kernel together.
Replace "gcc" with "gcc -v" and watch out for the linker command line that
it displays.  Does it use the correct linker?  Does the spec file gcc
actually uses match your version (see the first line, the path should have
"2.9.1" in it).  

Try to compile a simple

	gcc -mshort -c hello.c -o hello.o
	gcc -v -o hello hello.o -lc16 

See the "-lc16" above.  If it is missing in the command line you may get
into problems.

> /home/michael/freemint-1.15.6b/src# rpm -q -a
> mintbin-0.3-2
> bash-2.03-4
> info-3.12f-2
> bc-1.05a-2
> sox-12.16-1
> pdksh-5.2.13-1
> grep-2.3-3
> gawk-3.0.3-4
> mintlib-0.53-1
> fileutils-4.0-3
> textutils-1.22-3
> sh-utils-1.16-3
> mktemp-1.4-1
> rpm-3.0.2-6
> binutils-2.9.1-4
> mintlib-devel-0.53-1
> 
> As I said before, I had no problem making 1.15.2.  What's changed so much
> that it no longer links?  To me, it seems including lc16 causes it.

No, this just makes sure that the correct library gets linked.

> Which brings up another issue - why is MiNT now dependent on a library?

It has always been.  MiNT neither has its own startup code nor has it any
floating point emulation (needed if you compile for mc68000).  Some other
modules of the MiNTLib will also get dragged into the link.  I tried to
reduce the amount of library routines but they cannot be completely
eliminated.  Try to link with "gcc -Wl,--print-map" (pipe it thru less,
lots of output) to see what actually gets linked.

Ciao

Guido
-- 
http://stud.uni-sb.de/~gufl0000/
mailto:guido@freemint.de