Just committed a patch. Hope I got it right :-)
Danny
On Mon, 2009-06-01 at 14:44 +0100, Dave Korn wrote:
> Danny Backx wrote:
> > I'm not sure I understand what the cygwin.h code would do :
>
> "If nothing is specified on the command line, or if -static or
> -static-libgcc is present, link against the static libgcc. If -shared-libgcc
> is explicitly specified, or if building a DLL (-shared) and not explicitly
> specifying "-static-libgcc", link against the shared one.
>
> > #define SHARED_LIBGCC_SPEC " \
> > %{static|static-libgcc:-lgcc -lgcc_eh} \
> > %{!static: \
> > %{!static-libgcc: \
> > %{!shared: \
> > %{!shared-libgcc:-lgcc -lgcc_eh} \
> > %{shared-libgcc:-lgcc_s -lgcc} \
> > } \
> > %{shared:-lgcc_s -lgcc} \
> > } \
> > } "
> >
> > Is a normal developer supposed to use -shared-libgcc ?
>
> At the moment, it's not the default setting upstream, although it is in the
> cygwin distro compiler. We plan on throwing the switch to make it default
> once we've got glitches worked out with the language runtime DLLs. It is
> however enabled when building a DLL, since that makes it very likely you are
> going to have to worry about exceptions crossing image boundaries.
>
> > The DLL sample in test/shared runs these commands, and works as it
> > should :
>
> Note that the equation is libgcc_s = libgcc + libgcc_eh (approximately - in
> fact there are a couple of leftover bits in the static one that don't belong
> in the DLL and so that's why we still add '-lgcc' after '-lgcc_s', to fill out
> any references to them). Your current LIBGCC_SPEC definition in mingw32ce.h
> just has "-lgcc", so what happens is that you're always linking statically,
> and the shared libgcc DLL will never be used. The reason the test works is
> because it doesn't use any EH functions I'd guess, so the stuff in the static
> libgcc.a is enough for it to link. You could check whether it has any imports
> from the libgcc_s DLL or not to confirm that.
>
> cheers,
> DaveK
>
> ------------------------------------------------------------------------------
> Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
> is a gathering of tech-side developers & brand creativity professionals. Meet
> the minds behind Google Creative Lab, Visual Complexity, Processing, &
> iPhoneDevCamp as they present alongside digital heavyweights like Barbarian
> Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com
> _______________________________________________
> Cegcc-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/cegcc-devel
>
--
Danny Backx ; danny.backx - at - scarlet.be ; http://danny.backx.info
------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
Cegcc-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cegcc-devel