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