This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [ANNOUNCEMENT] New experimental package: gcc4-4.3.0-1


"Yaakov (Cygwin Ports)" wrote:

> OTOH, I really would like to see a dynamic libstdc++6 for 1.7.  So my
> question is, how far off is a real fix to binutils, and if it's not
> around the corner, will this workaround be compatible with the binutils
> fix when it does happen?

I haven't seen a plan outlined yet for how you'd solve this generically
and I rather doubt it's possible without special casing or otherwise
modifying the original code.   Like Dave said it's just one of those PE
differences that we have to live with, like no undefined symbols.  I
still don't see how binutils support for weak symbols matters in this
case at all, because unlike ELF the weak/strong-ness of a symbol does
not carry over into a shared library.  Or stated differently, the
support for weak symbols that PE does have applies at the object level,
but not for DLLs.  The OS loader just doesn't have the necessary
capability.

The only approach I can think of would be to have some macro magic that
you could apply to function decls in a library that you desire to be
interposable/overridable by the executable, which would add indirection
in the form of thunks and some kind of runtime support in the startup
code -- essentially just using the same method we have now for
malloc/free but making it extensible, with a dynamic list of function
names and pointer pairs instead of a few hardcoded function names.  But
again, this still would require special markup of the original source,
even if minimal.

Brian

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]