broken linuxulator in -current as of Jan 8 17:51:45 CET
Alexander Leidinger
Alexander at Leidinger.net
Tue Jan 9 19:46:14 UTC 2007
Quoting Alexander Leidinger <Alexander at Leidinger.net> (Mon, 8 Jan 2007 21:08:13 +0100):
> The question is: why does it try to load the FreeBSD one, when open
> does not error out with the linux one. This is not something which
> happens in the kernel, the linux syscalls seem to work just fine.
>
> Linux kdump:
> ---snip---
> 97935 ls CALL linux_open(0xbfbfdd60,0,0)
> 97935 ls NAMI "/compat/linux/lib/tls/librt.so.1"
> 97935 ls NAMI "/lib/tls/librt.so.1"
> 97935 ls RET linux_open JUSTRETURN
> 97935 ls CALL linux_open(0xbfbfdd60,0,0)
> 97935 ls NAMI "/compat/linux/lib/librt.so.1"
> 97935 ls NAMI "/compat/linux"
> 97935 ls NAMI "/compat/linux/lib/librt.so.1"
> 97935 ls RET linux_open 3
> 97935 ls CALL read(0x3,0xbfbfde8c,0x200)
> 97935 ls GIO fd 3 read 512 bytes
> [linux ELF binary]
> 97935 ls RET read 512/0x200
> 97935 ls CALL close(0x3)
> 97935 ls RET close 0
> 97935 ls CALL linux_open(0xbfbfdd60,0,0)
> 97935 ls NAMI "/compat/linux/usr/lib/tls/librt.so.1"
> 97935 ls NAMI "/usr/lib/tls/librt.so.1"
> 97935 ls RET linux_open JUSTRETURN
> 97935 ls CALL linux_open(0xbfbfdd60,0,0)
> 97935 ls NAMI "/compat/linux/usr/lib/librt.so.1"
> 97935 ls NAMI "/usr/lib/librt.so.1"
> 97935 ls RET linux_open 3
> 97935 ls CALL read(0x3,0xbfbfde8c,0x200)
> 97935 ls GIO fd 3 read 512 bytes
> [FreeBSD ELF binary]
> ---snip---
I did a "ktrace -i chroot /comapt/linux /bin/ls":
---snip---
73503 chroot NAMI "/bin/ls"
73503 chroot NAMI "/compat/linux/lib/ld-linux.so.2"
73503 chroot NAMI "/lib/ld-linux.so.2"
73503 ls RET linux_olduname 0
73503 ls CALL linux_brk(0)
73503 ls RET linux_brk 134602752/0x805e000
73503 ls CALL linux_newuname(0xbfbfe38e)
73503 ls RET linux_newuname 0
73503 ls CALL linux_access(0x28072564,0x4)
73503 ls NAMI "/compat/linux/etc/ld.so.preload"
73503 ls NAMI "/etc/ld.so.preload"
73503 ls RET linux_access JUSTRETURN
73503 ls CALL linux_open(0x28074603,0,0x1)
73503 ls NAMI "/compat/linux/etc/ld.so.cache"
73503 ls NAMI "/etc/ld.so.cache"
73503 ls RET linux_open 3
73503 ls CALL linux_fstat64(0x3,0xbfbfdc70,0x28076fc4)
73503 ls RET linux_fstat64 0
73503 ls CALL linux_mmap(0xbfbfdc54)
73503 ls RET linux_mmap 671580160/0x28078000
73503 ls CALL close(0x3)
73503 ls RET close 0
73503 ls CALL linux_open(0xbfbfdc70,0,0)
73503 ls NAMI "/compat/linux/lib/tls/librt.so.1"
73503 ls NAMI "/lib/tls/librt.so.1"
73503 ls RET linux_open JUSTRETURN
73503 ls CALL linux_open(0xbfbfdc70,0,0)
73503 ls NAMI "/compat/linux/lib/librt.so.1"
73503 ls NAMI "/lib/librt.so.1"
73503 ls RET linux_open 3
73503 ls CALL read(0x3,0xbfbfdd9c,0x200)
73503 ls GIO fd 3 read 512 bytes
[binary data]
73503 ls RET read 512/0x200
73503 ls CALL close(0x3)
73503 ls RET close 0
73503 ls CALL linux_open(0xbfbfdc70,0,0)
73503 ls NAMI "/compat/linux/usr/lib/tls/librt.so.1"
73503 ls NAMI "/usr/lib/tls/librt.so.1"
73503 ls RET linux_open JUSTRETURN
73503 ls CALL linux_open(0xbfbfdc70,0,0)
73503 ls NAMI "/compat/linux/usr/lib/librt.so.1"
73503 ls NAMI "/usr/lib/librt.so.1"
73503 ls RET linux_open JUSTRETURN
73503 ls CALL linux_open(0xbfbfdc70,0,0)
73503 ls NAMI
"/compat/linux/lib/obsolete/linuxthreads/tls/librt.so.1"
73503 ls NAMI "/lib/obsolete/linuxthreads/tls/librt.so.1"
73503 ls RET linux_open JUSTRETURN
73503 ls CALL linux_open(0xbfbfdc70,0,0)
73503 ls NAMI
"/compat/linux/lib/obsolete/linuxthreads/librt.so.1"
73503 ls NAMI "/lib/obsolete/linuxthreads/librt.so.1"
73503 ls RET linux_open 3
73503 ls CALL read(0x3,0xbfbfdd9c,0x200)
73503 ls GIO fd 3 read 512 bytes
[binary data]
73503 ls RET read 512/0x200
73503 ls CALL linux_fstat64(0x3,0xbfbfdccc,0x28076fc4)
73503 ls RET linux_fstat64 0
73503 ls CALL linux_mmap(0xbfbfdb3c)
73503 ls RET linux_mmap 671596544/0x2807c000
73503 ls CALL linux_mmap(0xbfbfdb3c)
73503 ls RET linux_mmap 671625216/0x28083000
73503 ls CALL linux_mmap(0xbfbfdb3c)
73503 ls RET linux_mmap 671633408/0x28085000
73503 ls CALL close(0x3)
73503 ls RET close 0
73503 ls CALL linux_open(0x2807aa17,0,0x1)
73503 ls NAMI "/compat/linux/lib/libacl.so.1"
73503 ls NAMI "/lib/libacl.so.1"
73503 ls RET linux_open 3
73503 ls CALL read(0x3,0xbfbfdd80,0x200)
73503 ls GIO fd 3 read 512 bytes
[binary data]
73503 ls RET read 512/0x200
73503 ls CALL linux_fstat64(0x3,0xbfbfdcb0,0x28076fc4)
73503 ls RET linux_fstat64 0
73503 ls CALL linux_mmap(0xbfbfdb84)
73503 ls RET linux_mmap 671674368/0x2808f000
73503 ls CALL linux_mmap(0xbfbfdb80)
73503 ls RET linux_mmap 671678464/0x28090000
73503 ls CALL linux_mmap(0xbfbfdb80)
73503 ls RET linux_mmap 671703040/0x28096000
73503 ls CALL close(0x3)
73503 ls RET close 0
73503 ls CALL linux_open(0x2807999d,0,0x1)
73503 ls NAMI "/compat/linux/lib/libselinux.so.1"
73503 ls NAMI "/lib/libselinux.so.1"
73503 ls RET linux_open 3
73503 ls CALL read(0x3,0xbfbfdd64,0x200)
73503 ls GIO fd 3 read 512 bytes
[binary data]
73503 ls RET read 512/0x200
73503 ls CALL linux_fstat64(0x3,0xbfbfdc94,0x28076fc4)
73503 ls RET linux_fstat64 0
73503 ls CALL linux_mmap(0xbfbfdb64)
73503 ls RET linux_mmap 671707136/0x28097000
73503 ls CALL linux_mmap(0xbfbfdb64)
73503 ls RET linux_mmap 671772672/0x280a7000
73503 ls CALL close(0x3)
73503 ls RET close 0
73503 ls CALL linux_open(0xbfbfdc20,0,0x2808f4e0)
73503 ls NAMI "/compat/linux/lib/tls/libc.so.6"
73503 ls NAMI "/lib/tls/libc.so.6"
73503 ls RET linux_open JUSTRETURN
73503 ls CALL linux_open(0xbfbfdc20,0,0x2808f4e0)
73503 ls NAMI "/compat/linux/lib/libc.so.6"
73503 ls NAMI "/lib/libc.so.6"
73503 ls RET linux_open 3
73503 ls CALL read(0x3,0xbfbfdd48,0x200)
73503 ls GIO fd 3 read 512 bytes
[binary data]
73503 ls RET read 512/0x200
73503 ls CALL close(0x3)
73503 ls RET close 0
73503 ls CALL linux_open(0xbfbfdc20,0,0x2808f4e0)
73503 ls NAMI "/compat/linux/usr/lib/tls/libc.so.6"
73503 ls NAMI "/usr/lib/tls/libc.so.6"
73503 ls RET linux_open JUSTRETURN
73503 ls CALL linux_open(0xbfbfdc20,0,0x2808f4e0)
73503 ls NAMI "/compat/linux/usr/lib/libc.so.6"
73503 ls NAMI "/usr/lib/libc.so.6"
73503 ls RET linux_open JUSTRETURN
73503 ls CALL linux_open(0xbfbfdc20,0,0x2808f4e0)
73503 ls NAMI "/compat/linux/lib/obsolete/linuxthreads/tls/libc.so.6"
73503 ls NAMI "/lib/obsolete/linuxthreads/tls/libc.so.6"
73503 ls RET linux_open JUSTRETURN
73503 ls CALL linux_open(0xbfbfdc20,0,0x2808f4e0)
73503 ls NAMI "/compat/linux/lib/obsolete/linuxthreads/libc.so.6"
73503 ls NAMI "/lib/obsolete/linuxthreads/libc.so.6"
73503 ls RET linux_open 3
73503 ls CALL read(0x3,0xbfbfdd48,0x200)
73503 ls GIO fd 3 read 512 bytes
[...]
---snip---
Anyone out there who is willing to play with the order
in /compat/linux/etc/ld.so.conf to see if it helps (don't forget to run
ldconfig in a chroot).
Bye,
Alexander.
--
Forrest Gump: "I'm sorry for ruining your party, Lieutenant
Dan. She tasted of cigarettes"
http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
More information about the freebsd-current
mailing list