Date: Sat, 10 May 2008 23:31:34 +0200 From: Roman Divacky <rdivacky@freebsd.org> To: Chagin Dmitry <chagin.dmitry@gmail.com> Cc: freebsd-emulation@freebsd.org Subject: Re: [patch] linux-x86-64 (for comments) Message-ID: <20080510213134.GA31988@freebsd.org> In-Reply-To: <20080510211951.GA31390@freebsd.org> References: <alpine.BSF.1.10.0805082210000.6489@ora.chd.net> <20080508195310.GA74606@freebsd.org> <alpine.BSF.1.10.0805090003520.8334@ora.chd.net> <20080508210641.GA81647@freebsd.org> <alpine.BSF.1.10.0805091835080.3602@ora.chd.net> <20080510105008.GA71225@freebsd.org> <alpine.BSF.1.10.0805100321540.887@ora.chd.net> <20080510154605.GA83247@freebsd.org> <alpine.BSF.1.10.0805110057330.24758@ora.chd.net> <20080510211951.GA31390@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, May 10, 2008 at 11:19:51PM +0200, Roman Divacky wrote: > On Sun, May 11, 2008 at 01:12:25AM +0400, Chagin Dmitry wrote: > > On Sat, 10 May 2008, Roman Divacky wrote: > > > > >>now /compat/linux/bin/pwd exited without SIGSEGV, but on former can't > > >>load libc > > > > > >please... post more technical details if you want us to help you. if you > > >mean this as "blog" entry only it's fine as it is :) but I suggest to > > >establish an official blog (ask flz@ about one) for this announcements :) > > > > > > > ooo, no blog ) > > about technical details: > > now problem in getdents syscall's family > > trace of ldconfig look like this > > > > kernel: linux(26702): open(/lib, 0x90800, 0x6bdae0) > > kernel: linux(26702): open returns error 0 > > kernel: retval[0]: 0x3 / 3 > > kernel: linux(26702): newfstat(3, *) > > kernel: retval[0]: 0x0 / 0 > > kernel: linux(26702): fcntl(3, 00000001, *) > > kernel: retval[0]: 0x0 / 0 > > kernel: linux(26702): fcntl(3, 00000002, *) > > kernel: retval[0]: 0x0 / 0 > > kernel: linux(26702): getdents(3, *, 8192) > > kernel: retval[0]: 0x88 / 136 > > > > kernel: trap! > > kernel: frame->tf_trapno: 0x12 > > + 0, /* 18 T_DIVIDE */ > > how can integer divide trap happen in "movzwl"? Are trap numbers > the same on i386 and on amd64? is this machine-dependant or os-dependant? nevermind the previous. I slept only 3 hours last night ;) take a look at arch/x86_64/kernel/traps.c around line 541 (linux 2.6.16) it defines trap 18 to be "reserved" and intstructs the kernel to send a SIGSEGV signal to the process... no idea why :) please fix all the issues we have found a fix for and report back what's going on thnx! roman
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080510213134.GA31988>
