This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: multiple definitions of 'xxx keyed to...' in egcs-1.1.1
- To: Joe Buck <jbuck at Synopsys dot COM>
- Subject: Re: multiple definitions of 'xxx keyed to...' in egcs-1.1.1
- From: Andris Pavenis <andris at stargate dot astr dot lu dot lv>
- Date: Thu, 28 Jan 1999 10:36:50 +0200
- Cc: hjl at lucon dot org, egcs at cygnus dot com
- References: <199901271704.JAA23277@atrus.synopsys.com>
On Wed, 27 Jan 1999, Joe Buck wrote:
>> Seems that this update of egcs-1.1.1 finally is Ok. I earlier had to
>> manually edit libio to fix some problems when building statically linked
>> executables.
>...
>
>> These problems were conflicting definitions of _IO_*() functions in
>> libstdc++.a and libc.a.
>
>Sigh. Back when we started egcs, one of my personal priorities was that
>we would no longer have to wait for an "HJ special" to have libstdc++
>and libc work and play well together on Linux. We largely succeeded
>with 1.0.x.
egcs-1.0.3 was NOT Ok (at least binaries from Slackware-3.5 and 3.6).
I got problems initially with gcc-2.8.1 + libstdc++-2.8.1. After that I got the
same problems with egcs-1.0.3, egcs-1.1 and egcs-1.1.1. I removed from
libstdc++ all _IO_*() functions that are in libc-5.4.46 as workaround
(all except _IO_getline_info() which is not in libc). These are things I had to
patch in libstdc++. I don't have simple testsuite that illustrates this problems
which appears only when building some statically linked executables
but "HJ special" version solves it. Here is some fragment of output of
nm --extern-only libstdc++ libstdc++-2-libc5-1-2.9.0.a
iogetc.o:
00000000 T _IO_getc
U __uflow
00000000 W getc
ioputc.o:
00000000 T _IO_putc
U __overflow
00000000 W putc
iofeof.o:
00000000 T _IO_feof
00000000 W feof
ioferror.o:
00000000 T _IO_ferror
00000000 W ferror
filedoalloc.o:
00000000 T _IO_file_doallocate
U _IO_setb
U isatty
U mmap
Earlier versions didn't define weak symbols getc, putc etc. I think that was
the source of problems I met before.
>Please, let's make sure future releases work without HJ having to patch
>things up later.
It would be nice
Andris