From owner-freebsd-questions Tue Mar 19 06:42:47 1996 Return-Path: owner-questions Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id GAA04350 for questions-outgoing; Tue, 19 Mar 1996 06:42:47 -0800 (PST) Received: from jhome.DIALix.COM (root@jhome.DIALix.COM [192.203.228.69]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id GAA04339 for ; Tue, 19 Mar 1996 06:42:42 -0800 (PST) Received: from localhost.DIALix.oz.au (peter@localhost.DIALix.oz.au [127.0.0.1]) by jhome.DIALix.COM (8.7.4/8.7.3) with SMTP id WAA29738; Tue, 19 Mar 1996 22:42:31 +0800 (WST) Message-Id: <199603191442.WAA29738@jhome.DIALix.COM> X-Authentication-Warning: jhome.DIALix.COM: Host peter@localhost.DIALix.oz.au [127.0.0.1] didn't use HELO protocol To: Michael Smith cc: freebsd-questions@freebsd.org Subject: Re: statically linked linux ELF binaries In-reply-to: Your message of "Tue, 19 Mar 1996 12:35:15 +1030." <199603190205.MAA27525@genesis.atrad.adelaide.edu.au> Date: Tue, 19 Mar 1996 22:42:30 +0800 From: Peter Wemm Sender: owner-questions@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >Peter Wemm stands accused of saying: >> >> >In -current, there is no linux binary loader any more. If you have the >> >linux LKM loaded, attempts to run a.out binaries will fail. >> >> Huh?? Since when?? > >Er, since I compiled a kernel with 'options LINUX', rebooted, loaded the >Linux LKM and got a core. Unloading the LKM and rerunning the (a.out) >binary worked. > >My understanding was that COMPAT_LINUX and the LKM were going; it looks like >I was wrong on the second count 8) COMPAT_LINUX is gone.. You can either use "options LINUX" to statically build in the linux emulation environment, *or* load the LKM, but not both. I'm suprised the LKM even loaded, I'd have thought that there would have been some horrible 'ld' collisions. That's probably what happened.. You loaded the LKM, which caused the sysentvec for the Linux a.out environment to be replaced by a pointer to a mangled LKM. It's the same deal with the COMPAT_IBCS2 and IBCS2 options.. You used to need to compile the kernel with COMPAT_IBCS2 in order to use the LKM, but it is a no-op now too. You can use "options IBCS2" to get the IBCS2 emulator linked into the kernel.. >> (Somehow, I suspect you didn't say what you meant.. :-) > >I meant what I said but not what you read but I was still wrong 8) :-) Perhaps we need to put a hook in to prevent linux or ibcs2 LKM's being loaded when the emulator is already present? That's pretty easy I think.. >-- >]] Mike Smith, Software Engineer msmith@atrad.adelaide.edu.au [[ >]] Genesis Software genesis@atrad.adelaide.edu.au [[ >]] High-speed data acquisition and (GSM mobile) 0411-222-496 [[ >]] realtime instrument control (ph/fax) +61-8-267-3039 [[ >]] Collector of old Unix hardware. "Where are your PEZ?" The Tick [[ Cheers, -Peter