This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Bug: Undefined reference to MAIN__
- To: aoliva at redhat dot com
- Subject: Re: Bug: Undefined reference to MAIN__
- From: Toon Moene <moene at knmi dot nl>
- Date: Wed, 03 Oct 2001 07:02:25 +0000
- CC: gcc at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Organization: Royal Netherlands Meteorological Institute
I wrote:
>> I think I solved this problem with the attached patch.
> It appears to me that the problem is that the fortran shared
> library is being linked with frtbegin.o, which is inappropriate.
> My understanding is that shared libraries shouldn't be linked with
> frtbegin.o, only the main program should.
No, the problem was that the original g77spec.c code that Jurgen Pfeifer
introduced for dealing with a shared lib{f|g}2c *always* linked in
frtbegin.o, which contains the "real" main program for Fortran programs
compiled with g77.
Obviously, this is wrong if the main program is written in another
language than Fortran.
The way I solved it with my latest patch is that frtbegin.o now comes
from a library libfrtbegin.a (with a single object: frtbegin.o). So now
it's only linked in with the program *iff* there's an unresolved `main',
which only is the case if the main program is written in Fortran.
Therefore, this should fix Martin Kahlert's bug report. I checked and
it indeed did.
--
Toon Moene, KNMI, PO Box 201, 3730 AE De Bilt, The Netherlands.
Tel. +31302206443, Fax +31302210407, e-mail moene@knmi.nl
URL: http://www.knmi.nl/hirlam