Bug#298311: new ldd breaks initrd-tools on amd64
Harald Dunkel <harald.dunkel@t-online.de> writes:
> Package: initrd-tools
> Version: 0.1.77
>
>
> As noted by Erik the ldd of glibc 2.3.3 provides a new output
> format breaking mkinitrd:
>
> # mkinitrd -o /boot/initrd.img-2.6.11 2.6.11
> cpio: /lib/ld-linux-x86-64.so.2 (0x0000002a95556000): No such file or directory
>
>
> Seems that this new output format has already been included
> for libc6 2.3.2.ds1-20.0.0.2.gcc4 on amd64 (gcc-3.4).
Remeber the gcc-3.4/4.0 archive is highly experimental and breaks all
over the place. This is just another of its bugs.
> Attached you can find a patch.
>
>
> Regards
>
> Harri
> --- /u/harri/initrd-tools/initrd-tools-0.1.77/mkinitrd 2005-01-23 19:37:41.000000000 +0100
> +++ mkinitrd 2005-03-06 16:57:41.933283835 +0100
> @@ -1181,7 +1181,16 @@
> add_command $i
> done
> exec 3>&-
> - < tmp2 sed 's/.*=>[[:blank:]]*\([^[:blank:]]*\).*/\1/'
> + < tmp2 awk '
> + /[[:blank:]]*.*=>[[:blank:]]*\/[^[:blank:]]*.*/ {
> + print $3;
> + next;
> + };
> + /[[:blank:]]*\/[^[:blank:]]*.*/ {
> + print $1;
> + next;
> + };
> + '
>
> echo /dev/console
> echo /dev/null
This seems to fix the linux-gate.so problem for the old format as
well. What does the new ldd output for a 32bit program under x86_64
look like now?
old:
$ ldd /bin/sh
linux-gate.so.1 => (0x00000000)
libncurses.so.5 => /lib/libncurses.so.5 (0x55574000)
libdl.so.2 => /lib/tls/libdl.so.2 (0x555b3000)
libc.so.6 => /lib/tls/libc.so.6 (0x555b7000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x55555000)
MfG
Goswin
Reply to: