delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/01/16/06:38:42

X-Spam-Check-By: sourceware.org
Date: Tue, 16 Jan 2007 11:37:46 +0000
From: Robin Walker <rdhw AT cam DOT ac DOT uk>
Reply-To: Robin Walker <rdhw AT cam DOT ac DOT uk>
To: cygwin AT cygwin DOT com
Subject: Re: Cygwin Python/PIL TCL/TK fork rebase solution
Message-ID: <3D1F5241A4BA56B7EBA1D30B@qjunbur.quns.cam.ac.uk>
In-Reply-To: <87ejpvluvj.fsf@superfluity.lefae.org>
References: <87ejpvluvj DOT fsf AT superfluity DOT lefae DOT org>
X-Mailer: Mulberry/4.0.7 (Win32)
MIME-Version: 1.0
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

--==========43756107872189E140F3==========
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

--On 15 January 2007 15:42 -0800 Ross Patterson wrote:

> But I'm also curious about rebase and to understand more about how one
> chooses what base address and offset to use.

My curiosity is deeper than that.  I would welcome some instruction or=20
elucidation on this issue.

My understanding (please correct me if I get this wrong) of normal Windows=
=20
DLLs is that, when they need to be loaded into memory (or mapped into an=20
address space), if their preferred base address and range is not free, then=
=20
Windows will slot them in elsewhere and automatically fix-up all the=20
embedded pointers in RAM to be consistent with the actual assigned run-time=
=20
DLL base.

So, usually, no-one need be too concerned about DLL base addresses: DLLs=20
just work, even if their preferred base is not available.  Things are more=
=20
efficient if the preferred base is free, but they still work, albeit slower=
=20
and less efficiently, if the preferred base is not free.

So, what is it about Cygwin DLLs that makes them apparently sensitive to=20
base address in a way that normal Windows DLLs are not?

What is it that Cygwin "rebase" does, that Windows dynamic run-time=20
rebasing cannot or does not do?

--=20
Robin Walker (Junior Bursar), Queens' College, Cambridge CB3 9ET, UK
rdhw AT cam DOT ac DOT uk  http://www.queens.cam.ac.uk/  Tel:+44 1223 335528
--==========43756107872189E140F3==========
Content-Type: application/pkcs7-signature
Content-Transfer-Encoding: base64

MIIPuwYJKoZIhvcNAQcCoIIPrDCCD6gCAQExCzAJBgUrDgMCGgUAMAsGCSqG
SIb3DQEHAaCCDYAwggPnMIIDUKADAgECAhB/XB5Eipwh6JZtd6i9RCwoMA0G
CSqGSIb3DQEBBAUAMIHUMR4wHAYDVQQKExVTdHVkZW50IExvYW5zIENvbXBh
bnkxHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxPDA6BgNVBAsT
M1Rlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy50cnVzdHdpc2UuY29tL3Jw
YSAoYykwMzEwMC4GA1UECxMnQ2xhc3MgMiBPblNpdGUgSW5kaXZpZHVhbCBT
dWJzY3JpYmVyIENBMSEwHwYDVQQDExhTdHVkZW50IExvYW5zIENvbXBhbnkg
Q0EwHhcNMDYwODE3MDAwMDAwWhcNMDcwOTE1MjM1OTU5WjCB/jELMAkGA1UE
BhMCR0IxEjAQBgNVBAcUCUNhbWJyaWRnZTEqMCgGA1UEChQhVGhlIFN0dWRl
bnQgTG9hbnMgQ29tcGFueSBMaW1pdGVkMR4wHAYDVQQLExV3d3cudHJ1c3R3
aXNlLmNvbS9ycGExIzAhBgNVBAsUGk1haWxTdG9wIC0gUXVlZW5zJyBDb2xs
ZWdlMRwwGgYDVQQLFBNMRUEvSEVJIENvZGUgLSBDQUVFMRYwFAYDVQQMFA1K
dW5pb3IgQnVyc2FyMRUwEwYDVQQDEwxSb2JpbiBXYWxrZXIxHTAbBgkqhkiG
9w0BCQEWDnJkaHdAY2FtLmFjLnVrMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJB
ANk5fuWXoV1q2IIIUCYLVs0wM5bHBQ0dEF0AGFe/JdQrJNj4jUdsQSejp8HJ
+csNokcUY0MDdiFvksGyuszn/CMCAwEAAaOB0TCBzjAJBgNVHRMEAjAAMEQG
A1UdIAQ9MDswOQYKYIZIAYb4RQEHCTArMCkGCCsGAQUFBwIBFh1odHRwczov
L3d3dy50cnVzdHdpc2UuY29tL3JwYTALBgNVHQ8EBAMCBaAwEQYJYIZIAYb4
QgEBBAQDAgeAMFsGA1UdHwRUMFIwUKBOoEyGSmh0dHA6Ly9vbnNpdGVjcmwu
dHJ1c3R3aXNlLmNvbS9UaGVTdHVkZW50TG9hbnNDb21wYW55TGltaXRlZC9M
YXRlc3RDUkwuY3JsMA0GCSqGSIb3DQEBBAUAA4GBAEdZ4gUFj7rMntVJAyxI
LcOdhDgMlbFKp+4dmbAjachVQy0ZK6iaIxpit2SW5xvl7u0YyE5meLzRMMkq
7IXX+GNSEIcr13c0PQksem6i/vTcYCw1nK9JNafSG6snytqmJ0cTVp7E0vAP
CRLTDUBYYgeGUDFwqQlKjaAKdMNKvk8KMIIDYjCCAsugAwIBAgIQZlpoaaRJ
nbo/tOG5fY8NkzANBgkqhkiG9w0BAQQFADBkMScwJQYDVQQKEx5Ccml0aXNo
IFRlbGVjb21tdW5pY2F0aW9ucyBwbGMxHzAdBgNVBAsTFlZlcmlTaWduIFRy
dXN0IE5ldHdvcmsxGDAWBgNVBAMTD0JUIFRydXN0V2lzZSBDQTAeFw0wMzA5
MTgwMDAwMDBaFw0wODA5MTcyMzU5NTlaMIHUMR4wHAYDVQQKExVTdHVkZW50
IExvYW5zIENvbXBhbnkxHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
cmsxPDA6BgNVBAsTM1Rlcm1zIG9mIHVzZSBhdCBodHRwczovL3d3dy50cnVz
dHdpc2UuY29tL3JwYSAoYykwMzEwMC4GA1UECxMnQ2xhc3MgMiBPblNpdGUg
SW5kaXZpZHVhbCBTdWJzY3JpYmVyIENBMSEwHwYDVQQDExhTdHVkZW50IExv
YW5zIENvbXBhbnkgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALa0
MyhCbExYSe88SbETURStgVHxxboMuzV0TOSMUS76PTT9cnpy5IqCWt6NndWy
fVcOPtCCCAgoOH1yDS3F4kIlKnOBCIIXv7ExFFBOESPBp6aNQ4Zek8gu16wZ
0v1ruYF1kOsyyuKcitlJIvhjKvx5lmQFa9FYUqSiF9U1TNsDAgMBAAGjgaMw
gaAwDwYDVR0TBAgwBgEB/wIBADBFBgNVHSAEPjA8MDoGC2CGSAGG+EUBBxcC
MCswKQYIKwYBBQUHAgEWHWh0dHBzOi8vd3d3LnRydXN0d2lzZS5jb20vcnBh
MAsGA1UdDwQEAwIBBjARBglghkgBhvhCAQEEBAMCAQYwJgYDVR0RBB8wHaQb
MBkxFzAVBgNVBAMTDmJ0YzJvbnNpdGUxLTEzMA0GCSqGSIb3DQEBBAUAA4GB
AKFq2zZnXaspVfkukjegQ1qYS//0eqE5lvxndZJLIwqgfQ55K/BQL38NX6Qu
NiiGf/GU7pixSiCE5rVCsOX7hP712Jhbb2/BHmdd4andkd7Odo2bUV6nmNjY
Rp7g30Z1trEjAEXCvpTD2Nb9VkijBe/jvuTDuiWtl6qnryiSULCcMIIDJDCC
Ao2gAwIBAgIQcFoaAbh84F1u3DpAgpiMGDANBgkqhkiG9w0BAQQFADCBwTEL
MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTwwOgYDVQQL
EzNDbGFzcyAyIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9y
aXR5IC0gRzIxOjA4BgNVBAsTMShjKSAxOTk4IFZlcmlTaWduLCBJbmMuIC0g
Rm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAsTFlZlcmlTaWduIFRy
dXN0IE5ldHdvcmswHhcNOTkwODE5MDAwMDAwWhcNMTQwMTA2MjM1OTU5WjBk
MScwJQYDVQQKEx5Ccml0aXNoIFRlbGVjb21tdW5pY2F0aW9ucyBwbGMxHzAd
BgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxGDAWBgNVBAMTD0JUIFRy
dXN0V2lzZSBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEApUGJBlbV
EdU4veD4N0zAH/2RvFDs/tU3/gXxOzFO/AD0N/O+1RnlJWN/g94GyVghgcEZ
O7BA1SEFlTjOs6u+Bq6B/STxkPddlURpOOC3q31YSPiHkdqtQsb40RFE7ZW9
kZooaxnJM9/dUQsBDYeBkNpLaorYZLwBCwSKDfI/l3UCAwEAAaN5MHcwEQYJ
YIZIAYb4QgEBBAQDAgEGMEQGA1UdIAQ9MDswOQYKYIZIAYb4RQEHCTArMCkG
CCsGAQUFBwIBFh1odHRwczovL3d3dy50cnVzdHdpc2UuY29tL1JQQTAPBgNV
HRMECDAGAQH/AgEBMAsGA1UdDwQEAwIBBjANBgkqhkiG9w0BAQQFAAOBgQBf
qGorIHXS8AcaIMa/suA2DF0ZFtq2ULNHvkV4E1uIeee1nwlFKpQ5/G0tWTfM
KThNyIQuE7IdYuBhiZUELtJbJd3M3dvrYxx0g98EY4V1RBM4ZK33tc5n3keQ
Kb+yzBjyLm1/32SH1EqmSCS8cD/x3t0L6V5Vrp0NevQFOA1UQTCCAwMwggJs
AhEAuS9gzIifoXpGCbhbcGyKrzANBgkqhkiG9w0BAQUFADCBwTELMAkGA1UE
BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTwwOgYDVQQLEzNDbGFz
cyAyIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0g
RzIxOjA4BgNVBAsTMShjKSAxOTk4IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1
dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5l
dHdvcmswHhcNOTgwNTE4MDAwMDAwWhcNMjgwODAxMjM1OTU5WjCBwTELMAkG
A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTwwOgYDVQQLEzND
bGFzcyAyIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5
IC0gRzIxOjA4BgNVBAsTMShjKSAxOTk4IFZlcmlTaWduLCBJbmMuIC0gRm9y
IGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0
IE5ldHdvcmswgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKeIASF0LOca
A/CY4Zc8DyEI8Zzbl+ma/MIEBhO+X1LIzB4sElYsuAFpLMyZH62wlq55BPIT
OcF7mLoILOjChBMsqmnpCfTHqQKkQsIjT0rY8A6i+zFsyeZvmScH9eb0THie
betGhvq5hslU8rLEr9RGHFrJFTD/DWz1LQ5tzn93AgMBAAEwDQYJKoZIhvcN
AQEFBQADgYEAci75f9HxcfvEnvbFXlGKQJi4aPibHIPY4p29/+2h5mbqLwn0
ytfqpSuV9iRghk1ELoOlxC2g0654aW9y2myuCPBjkjfmu8QwF613zEk1qs/Y
j9G+txiWR3NqVCI0ZC22FptZW7RRWTqzCxT0Et9noPStMmResUZyJ4wSe8VE
tK4xggIDMIIB/wIBATCB6TCB1DEeMBwGA1UEChMVU3R1ZGVudCBMb2FucyBD
b21wYW55MR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTwwOgYD
VQQLEzNUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudHJ1c3R3aXNlLmNv
bS9ycGEgKGMpMDMxMDAuBgNVBAsTJ0NsYXNzIDIgT25TaXRlIEluZGl2aWR1
YWwgU3Vic2NyaWJlciBDQTEhMB8GA1UEAxMYU3R1ZGVudCBMb2FucyBDb21w
YW55IENBAhB/XB5Eipwh6JZtd6i9RCwoMAkGBSsOAwIaBQCggbEwGAYJKoZI
hvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDcwMTE2MTEz
NzQ2WjAjBgkqhkiG9w0BCQQxFgQUruNf9N8c8JSsirmntqkj8jeVpoMwUgYJ
KoZIhvcNAQkPMUUwQzAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYI
KoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwICASgwDQYJKoZIhvcN
AQEBBQAEQEBWRGxl5rxMzkINEnYAg/G19Ufq44VkQ53tFpkPb1DhXtX6cIA0
ArEnZunpmnRQVs/wX8coUCePLG8YjaLoRrw=

--==========43756107872189E140F3==========--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019