From owner-cvs-sys Fri Feb 16 10:40:56 1996 Return-Path: owner-cvs-sys Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id KAA23264 for cvs-sys-outgoing; Fri, 16 Feb 1996 10:40:56 -0800 (PST) Received: (from peter@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id KAA23255 Fri, 16 Feb 1996 10:40:53 -0800 (PST) Date: Fri, 16 Feb 1996 10:40:53 -0800 (PST) From: Peter Wemm Message-Id: <199602161840.KAA23255@freefall.freebsd.org> To: CVS-committers, cvs-sys Subject: cvs commit: src/sys/i386/linux imgact_linux.c linux_misc.c Sender: owner-cvs-sys@FreeBSD.ORG Precedence: bulk peter 96/02/16 10:40:53 Modified: sys/i386/linux imgact_linux.c linux_misc.c Log: This is an extract of changes from what I am currently running... - Optimise the linux a.out loading and uselib system calls so they take advantage of some of John's recent interface improvements. Basically, this means they make far less map changes than before. - Attempt to plug some potentially nasty kernel_map memory leaks.. - Improve support for QMAGIC libs (I only use QMAGIC (ie: a.out libraries from the slackware 3.0 dist) but this depends on other changes to enhance the /compat/linux support) - uselib goes out through a single exit as part of the resource tracking that I did when closing the resource leaks on errors. This could be cleaner than what I did, but making a 30-deep nested if/else was not my idea of fun, neither did I want to repeat the same code 30 times over for each failure possibility. I guess this function needs to be split into smaller functions to solve this. I've been running the Linux Netscape-2.0 (with Java) to test this, and apart from the long-standing problem with the missing scrollbars, it appears to still work as before with ZMAGIC libs (and the leaks).. However, I've been using it with mods for the signal trampoline code for native linux stack frames on signals and exterminated the blasted sigreturn printf() problem, so I can't be certain that there is not a dependency on something else. Revision Changes Path 1.8 +23 -50 src/sys/i386/linux/imgact_linux.c 1.12 +150 -63 src/sys/i386/linux/linux_misc.c