This is the mail archive of the
cygwin-patches
mailing list for the Cygwin project.
Re: [PATCH RFC] fork: reduce chances for "address space is already occupied" errors
- From: Michael Haubenwallner <michael dot haubenwallner at ssi-schaefer dot com>
- To: cygwin-patches at cygwin dot com
- Date: Mon, 1 Apr 2019 18:31:34 +0200
- Subject: Re: [PATCH RFC] fork: reduce chances for "address space is already occupied" errors
- References: <20190326182824.GB4096@calimero.vinschen.de> <c52ec077-d1e6-f61a-df9c-fe9ede1ba1ff@ssi-schaefer.com> <20190327091640.GE4096@calimero.vinschen.de> <b22069db-a300-56f7-33dd-30a1adbc0c93@ssi-schaefer.com> <678d8ec4-f6c2-1538-aafd-dbb9cfc5dea5@ssi-schaefer.com> <20190328095818.GP4096@calimero.vinschen.de> <fd7b9ab3-ca07-0c80-04da-4f6b2f20d49e@ssi-schaefer.com> <20190328203056.GB4096@calimero.vinschen.de> <fe627231-6717-c702-b97b-d66cdc9409a3@ssi-schaefer.com> <20190401145658.GA6331@calimero.vinschen.de> <20190401155636.GN3337@calimero.vinschen.de>
On 4/1/19 5:56 PM, Corinna Vinschen wrote:
> On Apr 1 16:56, Corinna Vinschen wrote:
>> On Apr 1 16:28, Michael Haubenwallner wrote:
>>> On 3/28/19 9:30 PM, Corinna Vinschen wrote:
>>>> can you please collect the base addresses of all DLLs generated during
>>>> the build, plus their size and make a sorted list? It would be
>>>> interesting to know if the hash algorithm in ld is actually as bad
>>>> as I conjecture.
>>>
>>> Please find attached the output of rebase -i for the dlls after bootstrap
>>> on Cygwin 3.0.4, each built with ld from binutils-2.31.1.
>
> Oh, wait. That's not what I was looking for. The addresses are ok, but
> the paths *must* be the ones at the time the DLLs have been created,
> because that's what ld uses when creating the image base addresses.
Maybe I can provide that one as well.
> The
> addresses combined with the installation paths don't make sense anymore.
>
> Apart from that, since you seem to be installing the DLLs anyway, can't
> you combine every crucial point during installation with a rebase?
This is what I'm after now, but I may need to introduce something like
additional readonly databases plus some --unregister option to rebase.
/haubi/