Linux emulation on FreeBSD AMD64
Valery V.Chikalov
valera at chikalov.dp.ua
Sun Oct 28 13:01:12 PDT 2007
Roman Divacky пишет:
> On Sun, Oct 28, 2007 at 08:49:00PM +0200, Valery V.Chikalov wrote:
>> Valery V.Chikalov wrote:
>>> Roman Divacky wrote:
>>>>> 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?
>
> Index: linux_machdep.c
> ===================================================================
> RCS file: /home/ncvs/src/sys/i386/linux/linux_machdep.c,v
> retrieving revision 1.78
> diff -u -r1.78 linux_machdep.c
> --- linux_machdep.c 20 Jul 2007 08:35:18 -0000 1.78
> +++ linux_machdep.c 28 Oct 2007 18:42:15 -0000
> @@ -803,8 +803,10 @@
> bsd_args.addr = uap->addr;
> bsd_args.len = uap->len;
> bsd_args.prot = uap->prot;
> +#if 0
> if (bsd_args.prot & (PROT_READ | PROT_WRITE | PROT_EXEC))
> bsd_args.prot |= PROT_READ | PROT_EXEC;
> +#endif
> return (mprotect(td, &bsd_args));
> }
>
>
> does this help?
Unfortunately, no.
Just for the record: this make mprottect return success,
but oracle coredumps nevertheless. (Sorry for rhyme :-)
Definitely you have missed two my another mails:
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=16240+0+current/freebsd-emulation
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=19497+0+current/freebsd-emulation
Thank you for the help.
Valery.
More information about the freebsd-emulation
mailing list