------- 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