From owner-freebsd-announce Tue Apr 9 17:44:50 1996 Return-Path: owner-freebsd-announce Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id RAA04331 for freebsd-announce-outgoing; Tue, 9 Apr 1996 17:44:50 -0700 (PDT) Received: from time.cdrom.com (time.cdrom.com [204.216.27.226]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id RAA04311 Tue, 9 Apr 1996 17:44:46 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by time.cdrom.com (8.7.5/8.6.9) with SMTP id RAA11399; Tue, 9 Apr 1996 17:44:21 -0700 (PDT) Date: Tue, 09 Apr 1996 17:44:19 -0700 Message-ID: <11392.829097059@time.cdrom.com> From: "Jordan K. Hubbard" Subject: DOS Emulator now available for porting to FreeBSD. MIME-Version: 1.0 Content-Type: multipart/digest; boundary="----- =_aaaaaaaaaa" Sender: owner-freebsd-announce@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk To: undisclosed-recipients:; ------- =_aaaaaaaaaa To: hackers@freebsd.org Subject: DOS Emulator now available for porting to FreeBSD. Date: Tue, 09 Apr 1996 17:44:19 -0700 Message-ID: <11392.829097059@time.cdrom.com> From: "Jordan K. Hubbard" Some of you may recall some coy comments on my part a few weeks back about something being on the way vis-a-vis DOS emulation for FreeBSD and that we shouldn't be too quick to jump on the Linux dosemu bandwagon. My reasons for refusing to elaborate with more details on this until now were simply that I did not want to jeopardize my negotiations with BSDI through Keith Bostic, whom I approached at USENIX '96 about a possible "partnership" arrangement whereby we would get their DOS emulator, something FreeBSD has needed for quite awhile, and BSDI would get a bunch of extra people hacking on it, improving it in various ways and, of course, feeding those changes back to BSDI as part of the bargain. Well, I'm very pleased indeed to announce that after some months of negotiations, Keith has managed to convince the powers-that-be within BSDI to do the deal, allowing me to now speak more freely about it! Since this emulator was originally written for BSD/OS, I don't expect its integration into FreeBSD to be entirely painless, and it will take some dedicated work to merge it in while ensuring that we don't break anything in the BSDI support (which would not be part of the deal!). I would therefore like to call for all the people who've expressed an interest in working on this (or would like to express an interest now) to "step forward" as it were and declare their participation to the hackers@freebsd.org mailing list so that we may coordinate our efforts. I have also made the following resources available to those doing the development: 1. The original sources to the BSD/OS DOS emulator, as well as the first BSDI supplied patch to it, are available from: ftp://freefall.freebsd.org/incoming/rundos.tar.gz ftp://freefall.freebsd.org/incoming/rundos.tar.gz.PATCH-1 2. In order to ensure that we don't break BSDI compatibility along the way, I've also installed BSD/OS 2.01 on one of my machines and will give accounts on the box to anyone working on the project. Just send me a passwd line or point to an existing one on freefall if you already have an account there and I'll send you the login information. I'm really enthusiastic about this project, not just for what it represents in finally getting ourselves a working DOS emulator but also for the chance to finally do something in cooperation with BSDI. One of us may be commercial and the other not, but we're both solidly in the BSD camp and I think we have a lot more in common than many other parts of the operating systems community - I'm very happy at the precedent we have a chance to set here. Paul Borman is our contact at BSDI on this project, though I would really rather prefer that our dealings with him go primarily through one or two people at most. The last thing we want to do is swamp the poor guy with email and make him regret that this ever happened! That said, if you do find something in the code that you feel would be of direct interest to him, then certainly by all means contact him personally, but let's just try and keep it from becoming a stampede! :-) Finally, if you've ever had any interest at all in seeing DOS emulation come to FreeBSD then please do consider volunteering some time to this effort - your contributions will be crucial - and certainly don't hesitate to contact me if you have any questions! Jordan ------- =_aaaaaaaaaa-- From owner-freebsd-announce Fri Apr 12 16:09:16 1996 Return-Path: owner-freebsd-announce Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id QAA28977 for freebsd-announce-outgoing; Fri, 12 Apr 1996 16:09:16 -0700 (PDT) Received: (from jmb@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id QAA28969 Fri, 12 Apr 1996 16:09:13 -0700 (PDT) Date: Fri, 12 Apr 1996 16:09:13 -0700 (PDT) From: "Jonathan M. Bresler" Message-Id: <199604122309.QAA28969@freefall.freebsd.org> To: freebsd-announce, jkh, jmb Subject: FreeBSD-EMULATION [new list] Sender: owner-freebsd-announce@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk FreeBSD-EMULATION A new mailing list, dedicated to developing emulators of other operating systems and enviroments has been created. The primary emulators are: BSDi, Linux, Windows and DOS. This list is for those working on the code. Please ask questions about using the emulators in FreeBSD-questions  From owner-freebsd-announce Fri Apr 12 16:25:29 1996 Return-Path: owner-freebsd-announce Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id QAA00119 for freebsd-announce-outgoing; Fri, 12 Apr 1996 16:25:29 -0700 (PDT) Received: from austin.polstra.com (austin.polstra.com [206.213.73.10]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id QAA00113 Fri, 12 Apr 1996 16:25:23 -0700 (PDT) Received: from austin.polstra.com (jdp@localhost) by austin.polstra.com (8.7.5/8.6.12) with ESMTP id QAA02870; Fri, 12 Apr 1996 16:25:16 -0700 (PDT) Message-Id: <199604122325.QAA02870@austin.polstra.com> To: freebsd-hackers@freebsd.org, freebsd-announce@freebsd.org Subject: Elfkit-1.2 is now available Date: Fri, 12 Apr 1996 16:25:16 -0700 From: John Polstra Sender: owner-freebsd-announce@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Elfkit version 1.2 is now available. WHAT IS ELFKIT? Elfkit is a collection of tools for compiling and executing ELF programs under FreeBSD-2.1.0-RELEASE and later. It consists of: * Patches for gcc-2.7.2, to make it support ELF under FreeBSD. * Patches for binutils-2.6.0.12, to make it support ELF under FreeBSD. * Patches for libc from FreeBSD-2.1.0-RELEASE, to support building it as an ELF shared library. * An ELF dynamic linker. * A user-level test program that can invoke the dynamic linker to load and execute ELF programs under FreeBSD. The user-level test program is superfluous, if you are running FreeBSD-current. That version of FreeBSD can directly execute ELF programs. WHAT CAN I DO WITH IT? You can compile, link, and execute C and C++ programs. This depends to some extent on what libraries they require. We include patches for an ELF libc. Most other libraries (including all of the X11 libraries) can be built simply by typing "elf-make" in the appropriate source directory. The exceptions are those libraries that include some assembly language code. The math library "libm" is one such library. Unfortunately, "libm" hasn't been converted yet. The output of the linker is a standard, dynamically-linked ELF executable or shared library. WHAT HAS CHANGED SINCE THE LAST RELEASE? We are now using binutils-2.6.0.12 from the Linux project. This release has many ELF-related bug fixes. Also, we now hardly have to patch the binutils release at all, because H.J. Lu was kind enough to merge our FreeBSD/ELF changes into his release. Thanks and a tip of the hat to H.J. Lu, Eric Youngdale, David Engel, Ian Lance Taylor, and the Linux user community, for their hard work in finding and fixing bugs in the binutils ELF support. Note: There have been only very minor changes to gcc. If you already have installed the version from elfkit-1.1, you don't need to bother rebuilding gcc. Major renovation of the "crt*.o" files. They should be functionally complete now. The use of "gcc -shared" for building shared libraries is now supported. In fact, that's the recommended method, because it arranges to link in the proper "crt*.o" files in the right places. C++ support! Static constructors and destructors work properly, even in shared libraries. Added instructions for building libg++-2.7.1. It's a little bit tricky. No longer use GNU malloc, as it's going away in FreeBSD. (It's being replaced by PHK malloc.) Eliminated the "libc/elf" subdirectory. Its contents are no longer necessary, and they interfered with the ELF merge into FreeBSD-current. Fixed a couple of bugs in "libc". Most notable are the fixes to "setjmp" and "sigsetjmp" for PIC code. These functions now work properly, instead of dumping core. Added support for dlopen() and friends. It has not been tested very thoroughly yet. Beefed up some dynamic linker error messages. This is probably the last release based on FreeBSD-2.1.0. (I know, you've heard that before.) We plan to track FreeBSD-current in the future. WHO SHOULD USE ELFKIT? The current release of elfkit is intended for people who want to help develop ELF support under FreeBSD. If you simply want to run ELF programs, and don't want to learn anything else about it, come back in a few months. Elfkit is a work-in-progress, not a finished product. If you use it, you should be prepared to deal with some disruption when new releases come out. For example, the installation procedure and the directory structure could change in future releases. You should also expect that some features won't work right. (Please report such problems to "elfkit-bugs@polstra.com"!) HOW WELL DOES IT WORK? It works surprisingly well! For example, I recently tried "elf-make World" from the top of the XFree86 source tree. It succeeded at building all of the libraries and programs, failing only on the programs that required missing libraries (mostly, "libm"). The programs that built successfully, such as "xclock", seemed to function perfectly. WHERE CAN I GET IT? ftp://ftp.polstra.com/pub/FreeBSD/elfkit/elfkit-1.2.tar.gz WHAT ELSE WILL I NEED? * gcc-2.7.2.tar.gz, from any GNU site. * binutils-2.6.0.12.tar.gz, available from ftp://tsx-11.mit.edu/pub/linux/packages/GCC/binutils-2.6.0.12.tar.gz and other Linux mirror sites. * The sources for libc, from FreeBSD-2.1.0-RELEASE. * The /usr/include tree from FreeBSD-2.1.0-RELEASE. If you want to use C++, you will also need: * libg++-2.7.1, from ftp://prep.ai.mit.edu/pub/gnu/libg++-2.7.1.tar.gz Also available from GNU mirror sites. * GNU make (any reasonably recent version). Available from the FreeBSD ports and packages collections, and of course from any GNU mirror site. If at all possible, you should get your "libc" and "include" sources from one of the FreeBSD mirror sites, or from the FreeBSD-2.1.0 CD-ROM. If that's absolutely impossible for you, you can get them from: ftp://ftp.polstra.com/pub/FreeBSD/elfkit/libc-2.1.0.tar.gz ftp://ftp.polstra.com/pub/FreeBSD/elfkit/include-2.1.0.tar.gz Please try to avoid getting the "libc" and "include" sources from ftp.polstra.com. Its network connection is only a 56K frame relay link. Write to me, if you'd like to make a donation to the "T1 for Polstra" fund. WHERE DO I SEND BUG REPORTS AND COMMENTS? elfkit-bugs@polstra.com WHAT??? You want to ... HELP?! Send mail to "elfkit-bugs@polstra.com" if you'd like to help. -- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Self-knowledge is always bad news." -- John Barth