From owner-freebsd-emulation Wed Jun 11 04:46:14 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id EAA17958 for emulation-outgoing; Wed, 11 Jun 1997 04:46:14 -0700 (PDT) Received: from stevenson.cogsci.ed.ac.uk (stevenson144.cogsci.ed.ac.uk [129.215.144.1]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id EAA17947 for ; Wed, 11 Jun 1997 04:46:10 -0700 (PDT) From: richard@cogsci.ed.ac.uk Received: from pitcairn.cogsci.ed.ac.uk (pitcairn [129.215.197.19]) by stevenson.cogsci.ed.ac.uk (8.8.5/8.8.5) with SMTP id MAA06013 for ; Wed, 11 Jun 1997 12:46:02 +0100 (BST) Date: Wed, 11 Jun 1997 12:46:01 +0100 Message-Id: <1976.199706111146@pitcairn.cogsci.ed.ac.uk> To: freebsd-emulation@freebsd.org Subject: Linux Allegro Common Lisp Sender: owner-emulation@freebsd.org X-Loop: FreeBSD.org Precedence: bulk I just got the free Allegro CL for Linux, and have been trying to get it working under FreeBSD. I encountered a few problems: (1) Linux pwd (probably getcwd()) doesn't work when I'm under /tmp, which is a memory file system. It returns /foo/bar instead of /tmp/foo/bar. Presumably Linux's method of detecting the root directory isn't working. (2) I managed to twice damage my ext2fs filesystem. Both times a directory was corrupted (and fixed by Linux fsck), and one time a directory was detatched. Is the ext2fs code known to have problems? Is it reasonable to replace /compat/linux with a link to my ext2fs partition? (3) (The serious one) ACL dies with a bus error. The problem appears to be that ACL uses the common technique of using SIGSEGV to detect when it needs to allocate more memory. It looks as if FreeBSD sends a SIGBUS in some circumstance in which Linux sends SIGSEGV. I hacked the emulator so that when ACL sets its SIGSEGV handler, it really sets the SIGBUS handler, and that seems to fix it, at least to the stage where I can run some benchmarks. I'll look into this more closely myself, but maybe someone can tell me exactly what are the circumstances in which FreeBSD sends SIGSEGV and SIGBUS? Is it practical to have the rules be different for an emulated process? BTW, I'm using 2.2-gamma. -- Richard