On 2013-03-23 04:50, Corinna Vinschen wrote:
On Mar 22 19:11, marco atzeri wrote:
latest libstdc++6-4.8-20130319-1
has at least a missing entry point from previous dll
cmake fails with
"_ZTVN10_cxxabiv117_class_type_infoE could not be located"
However, a quick glance into the symbols exported by libstdc++.a
shows that the above symbol exists, but with additional leading
underscores:
_ZTVN10__cxxabiv117__class_type_infoE
^ ^
It's hard to see, but the error message actually does have double
underscores.
The x86_64 ABI does not prepends underscores in front of symbols,
so there has evidently gone something wrong. I checked my the Linux
cross toolchain and it is also using the symbols with additional
leading underscores. Off the top of my head I don't see where this
discrepancy is caused.
The PE underscore only applies to the very beginning of a symbol, not to
every component of a C++ symbol name. Those double underscores are
straight from libstdc++ code, as they are internal symbols.
In any case, the error is a result of adding one of Dave Korn's patches:
http://cygwin-ports.git.sourceforge.net/git/gitweb.cgi?p=cygwin-ports/gcc;a=blob;f=4.7-libstdc-dllimport.patch;hb=refs/heads/4.8#l29
I have omitted that patch in the new 4.8.0-1. Hopefully Dave can
explain the purpose and necessity of that patch, since it would seem
that using (at least that hunk of) it would require rebuilding most C++
packages in 64bit/release; if it's really necessary, then we will want
to do that sooner rather than later.
Yaakov
P.S. I'll be offline until Thursday.