X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f Date: Thu, 11 May 2006 15:26:46 +0000 (GMT) From: "A. Wik" To: djgpp-workers AT delorie DOT com Subject: Re: DJGPP ELF (fwd) In-Reply-To: <200605110135.k4B1ZjDG010106@envy.delorie.com> Message-ID: <20060511152538.N4845@dynamite.narpes.com> References: <10605110108 DOT AA17525 AT clio DOT rice DOT edu> <200605110135 DOT k4B1ZjDG010106 AT envy DOT delorie DOT com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Wed, 10 May 2006, DJ Delorie wrote: > > The thought of ELF-based DOS programs brings the obvious goal to mind > - use the Linux kernel API to talk to the "extender". One of my uncountable unfinished projects is a cross- platform interface to x86 Unix system calls, implemented in assembly language (possibly generated automatically) and callable from C-programs. Kernel ABIs are generally a lot more stable and less detailed in their incompatibilities than the C libraries are. Besides, once portability at the low level is taken care of, all the layers built on top of it automatically benefit. FreeBSD and NetBSD provide some great examples: with the appropriate functionality compiled into the kernel, they will run most Linux programs, including (and perhaps most importantly) the the native Linux shared libraries. > You'd still need a stub for dos programs, at least for bash.exe. The stub might of course be a TSR, device driver, or kernel module, perhaps capable of detecting the API requirements of the executable being loaded - a trade- off between modularity and the freedom from external dependencies... -aw