This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH][4.8][4.7][4.6] Make -shared-libgcc the default on Cygwin.
On 12/03/2013 08:59, Richard Biener wrote:
> On Tue, Mar 12, 2013 at 2:44 AM, Dave Korn <firstname.lastname@example.org> wrote:
>> Hello list,
>> The attached patch makes -shared-libgcc the default for Cygwin. This is
>> something that I should have done some time ago, as shared libgcc on Cygwin is
>> more than mature. What's more, it is vital for reliable compilation of
>> applications that throw exceptions or share TLS variables from DLLs into the
>> main executable; at present these compile incorrectly without an explicit
>> -shared-libgcc. For instance, the just-released MPFR-3.1.2 doesn't work
>> without it.
>> Given that it's a very simple tweak to the compiler specs on a single
>> platform only, I would like to use my target maintainer's discretion to apply
>> it even at this late stage, but I figure it's so close to RC1 that I should
>> ask the RM's permission anyway.
>> I'd also like to backport it to all the currently-open branches.
>> 2013-03-12 Dave Korn <dave.korn.cygwin@....>
>> * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): Make shared libgcc the
>> default setting.
>> Is this OK by everyone?
> Ok for trunk (4.8). Please add a documentation entry to gcc-4.8/changes.html.
Committed revision 196634, with the attached documentation update and cvs
* htdocs/gcc-4.8/changes.html: Add OS-specific section and entry
for Windows (Cygwin).
> I'm not sure whether this kind of stuff should change on a release branch,
> I'll defer to others for this. Still, if you backport it, add a
> gcc-4.x/changes.html item to the sub-release sections.
Would still like to do this, as it's important for correctness in anything
that links against shared libraries, and it'll only have to be maintained as a
local patch to any Cygwin distro version of GCC if we don't.
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.8/changes.html,v
retrieving revision 1.105
diff -p -u -r1.105 changes.html
--- htdocs/gcc-4.8/changes.html 27 Feb 2013 19:24:43 -0000 1.105
+++ htdocs/gcc-4.8/changes.html 13 Mar 2013 15:19:44 -0000
@@ -805,6 +805,20 @@ B b(42); // OK
+<h2 id="os">Operating Systems</h2>
+<h3 id="windows">Windows (Cygwin)</h3>
+ <li>Executables are now linked against shared libgcc by default.
+ The previous default was to link statically, which can still be
+ done by explicitly specifying -static or -static-libgcc on the
+ command line. However it is strongly advised against, as it
+ will cause problems for any application that makes use of DLLs
+ compiled by GCC. It should be alright for a monolithic stand-alone
+ application that only links against the Windows OS DLLs, but
+ offers little or no benefit.</li>