delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DomainKey-Signature: | a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:date:from:to:subject:message-id:reply-to | |
:references:mime-version:content-type:in-reply-to; q=dns; s= | |
default; b=RvHxz4KyR7Hy9DVuZLnPoyRz8QMi2XjDvM8K43oAwJofVvvu+0mMs | |
nk3dIM7Lix4exoymC85qJPux95MaJwq++FbLYv2AeLGD1qf8WgwPPfZIEh/O+pDl | |
oY9IdyCcdnqm/yCJzosEIJaMrTC6G+5nJP9LXjkfou0sUTbITJnLSw= | |
DKIM-Signature: | v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id |
:list-unsubscribe:list-subscribe:list-archive:list-post | |
:list-help:sender:date:from:to:subject:message-id:reply-to | |
:references:mime-version:content-type:in-reply-to; s=default; | |
bh=TOWol+R/HCZ4WXbJiLBjQwlARhc=; b=N5uoV/hmKedWLMrqpSulgekJNyn9 | |
h245CsbrNOs3C9JvDZOAP/cEkQa+3aIc56zKhKL2QhKdQACvqULdgP3FcjvvUQQ8 | |
sbb3oFwdjMf5pxPYDr+q01kXba4M4+88raKVwnFrtx/W23quyhf1l+B2TcAZgjK0 | |
rfP5O56T/SRloVw= | |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Id: | <cygwin.cygwin.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 |
X-Spam-SWARE-Status: | No, score=-1.8 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.1 |
Date: | Tue, 18 Jun 2013 14:49:12 +0200 |
From: | Corinna Vinschen <corinna-cygwin AT cygwin DOT com> |
To: | cygwin AT cygwin DOT com |
Subject: | Re: Cross-compiling Linux kernel |
Message-ID: | <20130618124912.GA9092@calimero.vinschen.de> |
Reply-To: | cygwin AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
References: | <003401ce6b5d$f6ec87b0$e4c59710$%fedin AT samsung DOT com> <51BF7465 DOT 2030104 AT users DOT sourceforge DOT net> <001301ce6bf0$ea4904a0$bedb0de0$%fedin AT samsung DOT com> <20130618101706 DOT GB27405 AT calimero DOT vinschen DOT de> <003901ce6c1c$332722d0$99756870$%fedin AT samsung DOT com> |
MIME-Version: | 1.0 |
In-Reply-To: | <003901ce6c1c$332722d0$99756870$%fedin@samsung.com> |
User-Agent: | Mutt/1.5.21 (2010-09-15) |
On Jun 18 16:06, Fedin Pavel wrote: > Hello! > > While waiting for the Big Thing to finish compiling, another crazy idea visited my damaged brain. ;-) I wonder if it has some practical value... > > > That's not quite correct. The problem is not utilizing the native NT > > functions to create a process image, the problem is that the Win32 > > libraries like advapi32, msvcrt, etc, which are directly or indirectly > > loaded into a Cygwin process, are not capable to deal with a process > > clone situation. > > So, in another words, we can clone everything except several known > libraries. What if we use this fact ? > Since we can create process image manually, what if we clone > everything except these libraries ? Then we do a thing similar to How would you do that? Either you use the native call to clone the processes address space or you don't. If you clone, you get the entire address space layout, including all DLL images and heaps reserved by OS DLLs. These memory regions have to be free'd to be able to reload the OS DLLs. How do you know which memory region has been reserved by which OS DLL? Good luck implementing ;) Btw., for reference: http://social.msdn.microsoft.com/Forums/en-US/windowsgeneraldevelopmentissues/thread/afdf1b68-1f3e-47f5-94cf-51e397afe073 > what we do now, we start the program from the beginning but tell it > to follow "short path", attach missing libraries and jump to our > fork(). > Potential advantages: > 1. clone'able DLLs (i assume that all Cygwin DLLs are cloneable) are > guaranteed to get the same addresses. > 2. (1) creates smaller number of variants for Windows native > libraries, so we have smaller chances to get different addresses for > them. > > Even more, what stops us from completely manual process image layout > ? This way we could guarantee the same addresses for all libraries. If you can get this working... Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |