This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: multiple definitions of 'xxx keyed to...' in egcs-1.1.1


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]