------- Comment #3 from davek at gcc dot gnu dot org 2009-12-17 09:04 -------
This is starting to look like an LD bug. The function is there in the objects
fed into the final link:
$ x86_64-w64-mingw32-nm -C .libs/string-inst.o | grep reserve
0000000000000000 t .text$_ZNSs7reserveEy
0000000000000000 T std::string::reserve(unsigned long long)
dkad...@ubik /tmp/mingw-w64/obj-gcc/x86_64-w64-mingw32/libstdc++-v3/src
$
and it shows up as linked into the dll in the map file:
.text$_ZNSs7reserveEy
0x000000006fc946b0 0xa0 .libs/string-inst.o
0x000000006fc946b0 __ZNSs7reserveEy
but for some reason it doesn't get exported. This only happens in the 64-bit
multilib, not the 32-bit one; there it gets exported. So I think we've found
an inconsistency between the pe and pe+ emulations in ld.
I also get empty dependency_libs in both the $objdir .la files and the
installed versions. I followed (more-or-less) the instructions at
http://sourceforge.net/apps/trac/mingw-w64/wiki/Cross%20Win32%20and%20Win64%20compiler
to build a multilibbed/biarch cygwin-x-w64 cross-compiler.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42377