Date: Mon, 17 Sep 2007 18:34:21 +0200 From: Roman Divacky <rdivacky@freebsd.org> To: Boris Samorodov <bsam@ipt.ru> Cc: freebsd-emulation@freebsd.org, sam <samflanker@gmail.com> Subject: Re: linuxolator problem on i386 Message-ID: <20070917163421.GA2637@freebsd.org> In-Reply-To: <98735079@srv.sem.ipt.ru> References: <97026631@srv.sem.ipt.ru> <45189242@srv.sem.ipt.ru> <07746447@srv.sem.ipt.ru> <09509046@srv.sem.ipt.ru> <20070916171044.GA89893@freebsd.org> <66582704@bs1.sp34.ru> <20070916205434.GA70997@freebsd.org> <20070917152625.GA507@freebsd.org> <64815375@srv.sem.ipt.ru> <98735079@srv.sem.ipt.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Sep 17, 2007 at 08:16:56PM +0400, Boris Samorodov wrote:
> On Mon, 17 Sep 2007 20:12:00 +0400 Boris Samorodov wrote:
>
> > > what about this? www.vlakno.cz/~rdivacky/linux_bsam.patch (it incorporates
> > > the previous patch, you might want to revert the _hlds.patch if this complete
> > > patch does not work)
>
> > Way, that seems to help!
>
> Hm, I was too quick to respond. Sorry.
>
> Actually it does not core only because getdents() does not work:
> -----
> 16857 hlds_i686 NAMI "/compat/linux/usr/home/bsam/hlds_l/./cstrike/sound/weapons/reload1.wav"
> 16857 hlds_i686 NAMI "/usr/home/bsam/hlds_l/./cstrike/sound/weapons/reload1.wav"
> 16857 hlds_i686 RET linux_stat64 JUSTRETURN
> 16857 hlds_i686 CALL linux_open(0xbfbece08,0x18800,0xbfbecd34)
> 16857 hlds_i686 NAMI "/compat/linux/usr/home/bsam/hlds_l/./cstrike/sound/weapons"
> 16857 hlds_i686 NAMI "/usr/home/bsam/hlds_l/./cstrike/sound/weapons"
> 16857 hlds_i686 RET linux_open 6
> 16857 hlds_i686 CALL linux_fstat64(0x6,0xbfbecd34,0x281f0ff4)
> 16857 hlds_i686 RET linux_fstat64 0
> 16857 hlds_i686 CALL linux_fcntl64(0x6,0x2,0x1)
> 16857 hlds_i686 RET linux_fcntl64 0
> 16857 hlds_i686 CALL linux_getdents(0x6,0x8da532c,0x1000)
> 16857 hlds_i686 RET linux_getdents -1 errno 14 Bad address
> 16857 hlds_i686 CALL close(0x6)
> 16857 hlds_i686 RET close 0
> 16857 hlds_i686 CALL linux_stat64(0xbfbecec4,0xbfbecdc4,0x281f0ff4)
> 16857 hlds_i686 NAMI "/compat/linux/usr/home/bsam/hlds_l/./valve/sound/weapons/reload1.wav"
> 16857 hlds_i686 NAMI "/usr/home/bsam/hlds_l/./valve/sound/weapons/reload1.wav"
> 16857 hlds_i686 RET linux_stat64 JUSTRETURN
> 16857 hlds_i686 CALL linux_open(0xbfbece08,0x18800,0xbfbecd34)
> 16857 hlds_i686 NAMI "/compat/linux/usr/home/bsam/hlds_l/./valve/sound/weapons"
> 16857 hlds_i686 NAMI "/usr/home/bsam/hlds_l/./valve/sound/weapons"
> 16857 hlds_i686 RET linux_open 6
> 16857 hlds_i686 CALL linux_fstat64(0x6,0xbfbecd34,0x281f0ff4)
> 16857 hlds_i686 RET linux_fstat64 0
> 16857 hlds_i686 CALL linux_fcntl64(0x6,0x2,0x1)
> 16857 hlds_i686 RET linux_fcntl64 0
> 16857 hlds_i686 CALL linux_getdents(0x6,0x8da532c,0x1000)
> 16857 hlds_i686 RET linux_getdents -1 errno 14 Bad address
show me the args->dirent... easily done by adding
printf("XXX: %p\n", args->dirent);
to the getdents_common() code (in the if (args->dirent) block)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070917163421.GA2637>
