This is the mail archive of the
mailing list for the Cygwin project.
Re: rebaseall and cygstdc++-6.dll
On 26/09/2011 04:15, 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.
>> 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.
True. And not just any library that throws exceptions, but any library that
might be in the call stack at the time an exception is thrown and through
which the libgcc eh code needs to unwind, so potentially even plain C
libraries could be affected in the presence of mixed-language callbacks.
That's a pretty rare combination fortunately, but most C++ libs that throw
exceptions should be considered at risk.
(I'm running the gcc testsuites against DLLs built with the new code, then
I'm going to rebase them all and run the tests again, so it'll be a day or two
before that's all done and I can check the fix in, but it'll be in time for
the forthcoming 2.22 release).
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple