Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 May 2008 01:12:25 +0400 (MSD)
From:      Chagin Dmitry <chagin.dmitry@gmail.com>
To:        Roman Divacky <rdivacky@freebsd.org>
Cc:        freebsd-emulation@freebsd.org, Chagin Dmitry <chagin.dmitry@gmail.com>
Subject:   Re: [patch] linux-x86-64 (for comments)
Message-ID:  <alpine.BSF.1.10.0805110057330.24758@ora.chd.net>
In-Reply-To: <20080510154605.GA83247@freebsd.org>
References:  <20080508170819.GA68720@freebsd.org> <alpine.BSF.1.10.0805082117170.6489@ora.chd.net> <20080508172503.GA69463@freebsd.org> <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>

next in thread | previous in thread | raw e-mail | index | archive | help
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
kernel: frame->tf_rip: 0x420608
kernel: frame->tf_rcx: 0x4205e5
kernel: frame->tf_rsp: 0x7fffffffd810
kernel: frame->tf_rbp: 0xffe00
kernel: frame->tf_rbx: 0x6cdbf0
kernel: frame->tf_rax: 0x88
kernel: frame->tf_addr: 0xffe10    ups )))
kernel: frame->tf_cs: 0x2b
kernel: frame->tf_ss: 0x23

-------> here we are die
   420608:       0f b7 45 10             movzwl 0x10(%rbp),%eax
   42060c:       48 8d 5d 12             lea    0x12(%rbp),%rbx
   420610:       48 89 df                mov    %rbx,%rdi

this code is in function search_dir in elf/ldconfig.c (glibc)
here i think that is it :)

-- 
Have fun!
chd



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.1.10.0805110057330.24758>