From owner-freebsd-emulation Thu Dec 5 15:50:29 1996 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id PAA13090 for emulation-outgoing; Thu, 5 Dec 1996 15:50:29 -0800 (PST) Received: (from jmb@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id PAA13071; Thu, 5 Dec 1996 15:50:06 -0800 (PST) From: "Jonathan M. Bresler" Message-Id: <199612052350.PAA13071@freefall.freebsd.org> Subject: Re: status of windows, dos and svr4 emulation To: cracauer@wavehh.hanse.de Date: Thu, 5 Dec 1996 15:50:05 -0800 (PST) Cc: vitjok@fasts.com, freebsd-emulation@freebsd.org In-Reply-To: <9612050912.AA20676@wavehh.hanse.de> from "Martin Cracauer" at Dec 5, 96 10:12:39 am X-Mailer: ELM [version 2.4 PL24] Content-Type: text Sender: owner-emulation@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Martin Cracauer wrote: > > >When netbsd's svr4 emulation will be ported to FreeBSD? > > The only real issue is keeping Linux ELF binaries and Solaris Binaries > (with are always ELF) different. NetBSD has the same problem. Most > folks ended up compiling only one of Linux ELF *or* SVR4 into their > kernels. i have kernel code that distinguishes between Linux ELF binaries and Solaris x86 2.4 ELF binaries. the PT_INTERP is different for each type. at present solaris_prepsyscall blows the stack. anyone have access to Solaris x86 and can compile int main(int argc, char *argv[]) { ; }" and int main(int argc, char *argv[]) { getpid(); } jmb Aspen:[203] id uid=0(root) gid=0(wheel) groups=0(wheel), 2(kmem), 3(sys), 4(tty), 5(operator), 20(staff), 31(guest) Aspen:[204] sysctl -w debug.elf_trace=1 debug.elf_trace: 0 -> 1 Aspen:[205] exit Aspen:[206] exit Aspen:[11] id uid=1000(jmb) gid=20(staff) groups=20(staff), 0(wheel), 117(dialer) Aspen:[12] pwd /home/jmb/Projects/ELF/linux.bin Aspen:[13] file ls ls: ELF 32-bit LSB executable, Intel 80386, version 1 Aspen:[14] ./ls ELF PT_PHDR section <8000034> ELF PT_INTERP section ELF PT_LOAD section .text <08000000,00006000> entry=08000cf0 ELF PT_LOAD section .bss size 3144 (c48) .data <08006000,00001000> ELF PT_DYNAMIC section ?? interpreter= /compat/linux ELF(file) PT_LOAD section .text <10000000,00005000> entry=10000990 ELF(file) PT_LOAD section .bss size 1636 (664) .data <10005000,00001000> ELF(file) PT_DYNAMIC section Executing Linux binary ./ls: can't open cache '/etc/ld.so.cache' file ls movemail.orig vi ktrace.out movemail ping Aspen:[15] cd ../solaris.bin Aspen:[16] ./ls ELF PT_PHDR section <8048034> ELF PT_INTERP section ELF PT_LOAD section .text <08048000,00004000> entry=080498e0 ELF PT_LOAD section .bss size 4920 (1338) .data <0804c000,00002000> ELF PT_DYNAMIC section ?? interpreter= /compat/solaris ELF(file) PT_LOAD section .text <10000000,0000d000> entry=10003312 ELF(file) PT_LOAD section .bss size 3944 (f68) .data <1000d000,00002000> ELF(file) PT_DYNAMIC section ELF(file) PT_NOTE section Executing Solaris binary Bad system call (core dumped)