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

Reply via email to