Date: Sun, 28 Oct 2007 12:29:10 +0100 From: Roman Divacky <rdivacky@freebsd.org> To: "Valery V.Chikalov" <valera@chikalov.dp.ua> Cc: freebsd-emulation@freebsd.org, Ivan Voras <ivoras@freebsd.org> Subject: Re: Linux emulation on FreeBSD AMD64 Message-ID: <20071028112910.GA84830@freebsd.org> In-Reply-To: <4723A8D6.6020002@chikalov.dp.ua> References: <4721AB07.20708@novakom.com.ua> <fg05l9$n32$2@ger.gmane.org> <4723A8D6.6020002@chikalov.dp.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
> 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?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071028112910.GA84830>