public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Brian Dessent <brian@dessent.net>
To: Mailing List: CygWin-Apps <cygwin-apps@cygwin.com>
Subject: Re: gcc-4.3 compatibility and cygwin-1.7 policy questions [Was::  Re:      SECURITY vulnerabilities update 2007-Sep-25]
Date: Wed, 29 Oct 2008 20:13:00 -0000	[thread overview]
Message-ID: <4908C3F1.EDE66C2E@dessent.net> (raw)
In-Reply-To: <4908625E.9010601@cwilson.fastmail.fm>

Charles Wilson wrote:

> Well, if we continue -- at present -- with static libstdc++, then would
> we need to continue -- at present -- with static libgcc even for C
> libraries?  For example:
> 
> cygncurses-N.dll : if this C library is compiled using -shared-libgcc
> 
> then
> 
> cygncurses++-N.dll : this C++ library can't be linked (right?) It's C++,
> but depends on cygncurses-N.dll. From what I understand, you have to
> have static libgcc and static libstdc++, or shared libgcc and shared
> libstdc++, you can't mix them. And because you can't link against
> cygncurses-N.dll (which was linked against the shared libgcc) without
> specifying -shared-libgcc when linking your client...boom.
> 
> Or, am I wrong on that (I'd love to wrong about that) -- if so, then you
> CAN do what would effectively be -shared-libgcc -static-libstdc++?

I'm not aware of anything that would preclude mixing static libstdc++
and shared libgcc.  It needs some testing, obviously.

> updated gcc-4.3). Version bump the C++ libraries again.  However, if one
> of the "issues" is the versioning of the libgcc shared library, then the
> C libraries will ALSO have to be rebuilt again -- but they may (or may
> not) have to be version bumped again at that time.  They probably will.
>  Clients from scenario 2/phase 1 expect the "old" cyggcc_s.dll -- which
> was fine with cygncurses-N.dll which also used cyggcc_s.dll.  However,
> this new cygncurses-N.dll depends on cyggcc_s-2.dll so now the client
> will pick up two different runtime support libraries: cyggcc_s.dll
> directly, and cyggcc_s-2.dll via cygncurses-N.dll. That's bad.  So, even
> the C libraries will need the second version bump, for scenario 2/phase 2.

Yes, this is why having an unversioned but shared libgcc in the distro
is such a poison.  With the current state of gcc4 it's impossible to win
as maintainer of a C++ library: if you use the default options you get
static libgcc which means your library can't throw or catch exceptions
from other modules.  If you use -shared-libgcc you get a dependence on
an unversioned shared lib which makes the output unsuitable to be
released to the public in the distro because it will only cause
headaches later.  So I consider this gcc4 package to be in a preview
state, but it its output should not be considered suitable for packaging
yet.

Brian

  reply	other threads:[~2008-10-29 20:13 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-26  4:29 SECURITY vulnerabilities update 2007-Sep-25 Yaakov (Cygwin Ports)
2008-10-02 18:13 ` Reini Urban
2008-10-27  9:19 ` Corinna Vinschen
2008-10-27 16:47   ` Yaakov (Cygwin Ports)
2008-10-27 20:29     ` Corinna Vinschen
2008-10-28  1:24       ` Reini Urban
2008-10-28  1:42   ` Charles Wilson
2008-10-28  2:28     ` Yaakov (Cygwin Ports)
2008-10-29  2:22       ` gcc-4.3 compatibility and cygwin-1.7 policy questions [Was:: Re: SECURITY vulnerabilities update 2007-Sep-25] Charles Wilson
2008-10-29  4:23         ` Brian Dessent
2008-10-29 13:17           ` Charles Wilson
2008-10-29 20:13             ` Brian Dessent [this message]
2008-10-30  0:44               ` Charles Wilson
2008-10-30  1:03                 ` Brian Dessent

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4908C3F1.EDE66C2E@dessent.net \
    --to=brian@dessent.net \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).