This is the mail archive of the
mailing list for the Cygwin project.
Re: dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...)
- From: Charles Wilson <cwilson at ece dot gatech dot edu>
- To: Robert Collins <robert dot collins at itdomain dot com dot au>
- Cc: Jason Tishler <jason at tishler dot net>, Michael Hudson <mwh at python dot net>, david_abrahams at users dot sourceforge dot net, Cygwin <cygwin at sources dot redhat dot com>
- Date: Fri, 07 Dec 2001 19:54:32 -0500
- Subject: Re: dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...)
- References: <20011206124426.B1448@dothill.com> <3C0FB399.firstname.lastname@example.org> <01fc01c17f74$0d774a20$0200a8c0@lifelesswks>
Robert Collins wrote:
> > Part of the problem may be that cyggdbm.dll was built with
> > --auto-image-base. It was later demonstrated that this can cause
> > problems with fork; you're better off just letting ld assign the
> > dllbase, which means that EVERY process will remap the dll at runtime.
> > Thus, no hardcoded conflicts. Downside: *very* slightly delay in
> > loading DLLs -- probably unnoticeable.
> > (Did I get that right, robert?)
> Yes. There is actually a longer term solution... which is to 'rebase'
> every cygwin linked .dll on a particular system to not conflict with
> each other - which has to be done by setup.exe.
Yes, but only with the apps and dll's that setup knows about. Recall
the discussion on this list some months ago concerning sybase DLL's (I
think). Somebody had a custom cygwin app that linked to
vendor-supplied database DLLs as well as cygwin stuff (which is fine as
long as the resulting app is not distributed...GPL conflicts
Anyway, they had a problem after upgrading to a new cygwinish dll
(cygncurses?? I think) w.r.t. load-on-fork. There's no way setup/rebase
can be used to avoid that problem a_priori...is there? (As I recall,
the person did a 'hand rebase' on his own system to work around
it...aware that he would have to repeat the process every time he
updated that problem DLL from the cygwin dist)
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html