Bug#295412: initrd-tools: Fails to ignore 32bit emulation layer on ldd calls
Package: initrd-tools
Version: 0.1.77
Severity: important
Tags: patch
Hi,
when running a 64bit kernel with 32bit userspace on i386 the ldd
output includes the 32bit emulation layer as linux-gate.so library
without any realy file and mapped to 0x00000000. Since mkinitrd tries
to cpio all {$3} from the ldd output it fails with (0x00000000) being
missing.
----------------------------------------------------------------------
mrvn@frosties:~% sudo chroot /var/chroot ldd /bin/sh
linux-gate.so.1 => (0x00000000)
libncurses.so.5 => /lib/libncurses.so.5 (0x55572000)
libdl.so.2 => /lib/tls/libdl.so.2 (0x555b1000)
libc.so.6 => /lib/tls/libc.so.6 (0x555b5000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x55555000)
----------------------------------------------------------------------
The attached patch filters out the extraneous entry from the ldd
output.
MfG
Goswin
-- System Information:
Debian Release: 3.1
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.8-frosties-1
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)
Versions of packages initrd-tools depends on:
ii coreutils [fileutils] 5.2.1-2 The GNU core utilities
ii cpio 2.5-1.2 GNU cpio -- a program to manage ar
ii cramfsprogs 1.1-6 Tools for CramFs (Compressed ROM F
ii dash 0.5.2-1 The Debian Almquist Shell
ii util-linux 2.12p-2 Miscellaneous system utilities
-- no debconf information
--- mkinitrd.orig 2005-02-15 17:52:39.356880824 +0100
+++ mkinitrd 2005-02-15 17:53:34.649475072 +0100
@@ -841,7 +841,7 @@
return $err
;;
esac
- echo "$x"
+ echo "$x" | grep -v linux-gate.so
}
add_modules_most() {
Reply to: