On 26/09/2011 2:28 AM, Marco Atzeri wrote:
On 9/26/2011 5:15 AM, Yaakov (Cygwin/X) wrote:
On Mon, 2011-09-26 at 02:15 +0100, Dave Korn wrote:
The problem is in binutils, and the fact that it generates base
relocs for
entries from EH data that should be just ignored.
http://sourceware.org/ml/binutils/2011-09/msg00174.html
contains more detail, if you want to ask more let's do it on the
binutils list.
So to answer your question: the gcc language-specific runtime
DLLs have to
be built using the patched version of binutils, otherwise they break
when they
get rebased; that's why I'm rebuilding the gcc packages - having
already
locally rebuilt binutils. This will only be a big issue for anyone
who wants
to rebuild gcc from source themselves, the new packages I upload to
the distro
will still work for everyone regardless of what binutils they have
installed
and/or how or when or where they get rebased.
Except that this issue doesn't affect only libstdc++, but any C++
library which throws exceptions (as I have seen on my system). So we
really do need a patched binutils ASAP.
There is an easy way to identify such libraries ?
Just to know if I need to rebuild some of mines .
If the problem affects any library which throws (as opposed to one which
merely supports propagating/unwinding due to exceptions), then the
presence of __cxa_throw in the output of nm would be a good indicator.
If unwind handlers are also affected, then anything with a .eh_frame
section is suspect (but that would be all C++ programs unless compiled
in no-except mode).
Ryan
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple