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
next prev parent 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).