1 >>>>> Ben Collins writes:
4 >> > ldconfig: Can't stat .2
6 >> > Strace output shows this:
8 >> > stat("/lib/ld-linux.so.2", {st_mode=S_IFREG|0755, st_size=463501, ...}) = 0
9 >> > stat(".2", 0xefffe5d0) = -1 ENOENT (No such file or directory)
10 >> > write(2, "ldconfig: ", 10) = 10
11 >> > write(2, "Can\'t stat .2\n", 14) = 14
12 >> > write(2, "\n", 1) = 1
15 >> > -rwxr-xr-x 1 root root 463501 Nov 10 00:18 /lib/ld-2.2.so*
16 >> > lrwxrwxrwx 1 root root 9 Nov 10 00:53 /lib/ld-linux.so.2 -> ld-2.2.so*
19 > Uggh. This was a royal pain in the ass to find. Thinko patch attached.
21 Argh :-( Did you hear my scream? :-)
23 Thanks! But you missed one place, I've committed the following to CVS
28 2000-11-10 Andreas Jaeger <aj@suse.de>
30 * elf/ldconfig.c (create_links): Fix alloca calculation.
31 Patch by Ben Collins <bcollins@debian.org>.
35 ============================================================
37 --- elf/ldconfig.c 2000/09/30 00:52:27 1.11
38 +++ elf/ldconfig.c 2000/11/10 14:04:18
41 /* Get complete path. */
42 full_libname = alloca (strlen (path) + strlen (libname) + 2);
43 - full_soname = alloca (strlen (path) + strlen (libname) + 2);
44 + full_soname = alloca (strlen (path) + strlen (soname) + 2);
45 sprintf (full_libname, "%s/%s", path, libname);
46 sprintf (full_soname, "%s/%s", path, soname);
49 real_full_libname = alloca (strlen (real_path) + strlen (libname) + 2);
50 - real_full_soname = alloca (strlen (real_path) + strlen (libname) + 2);
51 + real_full_soname = alloca (strlen (real_path) + strlen (soname) + 2);
52 sprintf (real_full_libname, "%s/%s", real_path, libname);
53 sprintf (real_full_soname, "%s/%s", real_path, soname);
59 private aj@arthur.inka.de
60 http://www.suse.de/~aj