48ccbdea81
SIGCHLD signal, should keep full 32 bits of the status passed to the _exit(2). Split the combined p_xstat of the struct proc into the separate exit status p_xexit for normal process exit, and signalled termination information p_xsig. Kernel-visible macro KW_EXITCODE() reconstructs old p_xstat from p_xexit and p_xsig. p_xexit contains complete status and copied out into si_status. Requested by: Joerg Schilling Reviewed by: jilles (previous version), pho Tested by: pho Sponsored by: The FreeBSD Foundation |
||
---|---|---|
.. | ||
imgact_svr4.c | ||
Makefile | ||
README | ||
svr4_acl.h | ||
svr4_dirent.h | ||
svr4_errno.h | ||
svr4_exec.h | ||
svr4_fcntl.c | ||
svr4_fcntl.h | ||
svr4_filio.c | ||
svr4_filio.h | ||
svr4_fuser.h | ||
svr4_hrt.h | ||
svr4_ioctl.c | ||
svr4_ioctl.h | ||
svr4_ipc.c | ||
svr4_ipc.h | ||
svr4_misc.c | ||
svr4_mman.h | ||
svr4_proto.h | ||
svr4_resource.c | ||
svr4_resource.h | ||
svr4_siginfo.h | ||
svr4_signal.c | ||
svr4_signal.h | ||
svr4_socket.c | ||
svr4_socket.h | ||
svr4_sockio.c | ||
svr4_sockio.h | ||
svr4_sockmod.h | ||
svr4_stat.c | ||
svr4_stat.h | ||
svr4_statvfs.h | ||
svr4_stream.c | ||
svr4_stropts.h | ||
svr4_syscall.h | ||
svr4_syscallnames.c | ||
svr4_sysconfig.h | ||
svr4_sysent.c | ||
svr4_systeminfo.h | ||
svr4_sysvec.c | ||
svr4_termios.c | ||
svr4_termios.h | ||
svr4_time.h | ||
svr4_timod.h | ||
svr4_types.h | ||
svr4_ucontext.h | ||
svr4_ulimit.h | ||
svr4_ustat.h | ||
svr4_util.h | ||
svr4_utsname.h | ||
svr4_wait.h | ||
svr4.h | ||
syscalls.conf | ||
syscalls.master | ||
TO-DO |
This is a SysVR4 emulator derived from work done as part of the NetBSD Project by Christos Zoulas. It has been ported to FreeBSD by Mark Newton. To use it: 1. Choose one of: a. Add "device streams" to your kernel config file and rebuild, reboot; or b. Build and install the streams module in /sys/modules/streams 2. Build and install the svr4 module in /sys/modules/svr4 3. Type "kldload svr4" to start it up. 4. Grab compat_sol26.tar.gz or compat_svr4.tar.gz from http://www.freebsd.org/~newton/freebsd-svr4 and install them in /compat/svr4 5. Run "sh SVR4_MAKEDEV all" in /compat/svr4/dev 6. Mount a Solaris/x86 v2.6 or v7 CD-ROM on /cdrom (also works with v2.4 and v2.5.1, but you need different symlinks in /compat/svr4) 7. Brand any executables you want to run, and/or set the kern.fallback_elf_brand sysctl to 'SVR4' to establish this as the default emulator for unbranded executables. 8. See if your SysVR4 programs work. It's early days yet, folks -- You'll probably have trouble getting 100% functionality out of most things (specifically, poll() on a socket doesn't look like it works at the moment, so Netscape doesn't work (among other things)). Patches will be appreciated. - Mark Newton newton@atdot.dotat.org $FreeBSD$