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

Reply via email to