[patch] linux-x86-64 (for comments)

Roman Divacky rdivacky at freebsd.org
Sat May 10 21:20:31 UTC 2008


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?


More information about the freebsd-emulation mailing list