Robert Collins wrote:
On Sat, 2002-11-09 at 21:59, Danny Smith wrote:Hello Robert By default symbols in libstdc++.a are excluded when doing --export-all, to protect against this type of error. However, ld/pe-dll.c knows nothing about libstdc++-2.a. So those symbols do get exported ... and cause the usual problems with multiple definitions. Quick solution: Try --exclude-libs=libstdc++-2.aGot it in one. Should this be in the g++-2 specs?
Nope. Chris should apply the attached patch to binutils and re-release. It's surprising we didn't catch this when gcc-3.x/gcc2-2.95 were getting their shakedown this summer. Oh well.
Also, Chris, you could take the opportunity of binutils-20021107-3 to apply Egor's remaining patches... :-)
--Chuck
Index: pe-dll.c =================================================================== RCS file: /cvs/src/src/ld/pe-dll.c,v retrieving revision 1.45 diff -u -r1.45 pe-dll.c --- pe-dll.c 6 Nov 2002 19:36:20 -0000 1.45 +++ pe-dll.c 9 Nov 2002 17:27:42 -0000 @@ -141,6 +141,7 @@ static struct sec *edata_s, *reloc_s; static unsigned char *edata_d, *reloc_d; static size_t edata_sz, reloc_sz; +static int runtime_pseudo_relocs_created = 0; typedef struct { @@ -234,6 +235,8 @@ { "libg2c.", 7 }, { "libsupc++.", 10 }, { "libobjc.", 8 }, + { "libstdc++-2.", 12 }, + { "libg2c-2.", 9 }, { NULL, 0 } };
-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/