From owner-freebsd-emulation@FreeBSD.ORG Sun Oct 28 11:29:15 2007 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BF66816A420 for ; Sun, 28 Oct 2007 11:29:15 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from vlakno.cz (vlk.vlakno.cz [62.168.28.247]) by mx1.freebsd.org (Postfix) with ESMTP id 38B6913C4C6 for ; Sun, 28 Oct 2007 11:29:14 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from localhost (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 5864A66985C; Sun, 28 Oct 2007 12:29:13 +0100 (CET) X-Virus-Scanned: amavisd-new at vlakno.cz Received: from vlakno.cz ([127.0.0.1]) by localhost (vlk.vlakno.cz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id WFw3ppRZwj8y; Sun, 28 Oct 2007 12:29:10 +0100 (CET) Received: from vlk.vlakno.cz (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id B76B766985A; Sun, 28 Oct 2007 12:29:10 +0100 (CET) Received: (from rdivacky@localhost) by vlk.vlakno.cz (8.13.8/8.13.8/Submit) id l9SBTAfr084892; Sun, 28 Oct 2007 12:29:10 +0100 (CET) (envelope-from rdivacky) Date: Sun, 28 Oct 2007 12:29:10 +0100 From: Roman Divacky To: "Valery V.Chikalov" Message-ID: <20071028112910.GA84830@freebsd.org> References: <4721AB07.20708@novakom.com.ua> <4723A8D6.6020002@chikalov.dp.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4723A8D6.6020002@chikalov.dp.ua> User-Agent: Mutt/1.4.2.3i Cc: freebsd-emulation@freebsd.org, Ivan Voras Subject: Re: Linux emulation on FreeBSD AMD64 X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Oct 2007 11:29:15 -0000 > exactly what I need as I own old 32bit 9.0.1 Oracle server. > > I have investigated this problem little more. > > Oracle(+ rh7) can be successfully started on FreeBSD 7.0 (i386) > SMP capable kernel, SHED_ULE, Core2Duo and so on... > > I fond this: http://wiki.freebsd.org/linux-kernel/ltp > I don't know how actual this info now, it seems little bit old. its quite accurate... > I did: > > grep UNIMPL /sys/amd64/linux32/syscalls.master > amd64.unimpl.txt > grep UNIMPL /sys/i386/linux/syscalls.master > i386.unimpl.txt > > diff i386.unimpl.txt amd64.unimpl.txt > > 6d5 > < 28 AUE_FSTAT UNIMPL fstat > 14d12 > < 86 AUE_USELIB UNIMPL linux_uselib > 16d13 > < 101 AUE_NULL UNIMPL ioperm > 18,19d14 > < 113 AUE_NULL UNIMPL vm86old > < 123 AUE_NULL UNIMPL modify_ldt > 21d15 > < 166 AUE_NULL UNIMPL vm86 > 29d22 > < 244 AUE_NULL UNIMPL linux_get_thread_area most of this are either unused by new linux apps or irrelevant > So there is some regression between i386 and AMD64 in a number of system > calls emulated. > > But Oracle not dumping core with signal 12(non-existent system call) > It's saying: > ========== > 27122, 00000, "unable to protect memory" > // *Cause: mprotect() call failed > ========== > > and than dumps core with signal 11. > > I instrumented mprotect(2) system call in linux32_machdep.c with > > -return (mprotect(td, &bsd_args)); > > +ret = mprotect(td, &bsd_args); > +printf("mprotect addr:%lx, return %d\n", uap->addr, ret); > +return ret; > > and got something like: > > Oct 27 19:42:59 tiger kernel: mprotect addr:2a27d000, return 0 > Oct 27 19:42:59 tiger kernel: mprotect addr:2a7c1000, return 0 > Oct 27 19:42:59 tiger kernel: mprotect addr:2a7cd000, return 0 > Oct 27 19:42:59 tiger kernel: mprotect addr:2a7e2000, return 0 > Oct 27 19:42:59 tiger kernel: mprotect addr:2a7ef000, return 0 > Oct 27 19:43:09 tiger kernel: mprotect addr:55c00000, return 13 > Oct 27 19:43:09 tiger kernel: mprotect addr:55c81000, return 13 > > where 13 is EACCES. can you show what are the "prot" and "len" arguments?