]>
Commit | Line | Data |
---|---|---|
84fafa44 AF |
1 | >>>>> Ben Collins writes: |
2 | ||
3 | >> > %ldconfig | |
4 | >> > ldconfig: Can't stat .2 | |
5 | >> | |
6 | >> > Strace output shows this: | |
7 | >> | |
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 | |
13 | >> | |
14 | >> > %l /lib/ld-* | |
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* | |
17 | ||
18 | ||
19 | > Uggh. This was a royal pain in the ass to find. Thinko patch attached. | |
20 | ||
21 | Argh :-( Did you hear my scream? :-) | |
22 | ||
23 | Thanks! But you missed one place, I've committed the following to CVS | |
24 | now. | |
25 | ||
26 | Andreas | |
27 | ||
28 | 2000-11-10 Andreas Jaeger <aj@suse.de> | |
29 | ||
30 | * elf/ldconfig.c (create_links): Fix alloca calculation. | |
31 | Patch by Ben Collins <bcollins@debian.org>. | |
32 | ||
33 | ||
34 | ||
35 | ============================================================ | |
36 | Index: elf/ldconfig.c | |
37 | --- elf/ldconfig.c 2000/09/30 00:52:27 1.11 | |
38 | +++ elf/ldconfig.c 2000/11/10 14:04:18 | |
39 | @@ -370,13 +370,13 @@ | |
40 | ||
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); | |
47 | if (opt_chroot) | |
48 | { | |
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); | |
54 | } | |
55 | ||
56 | -- | |
57 | Andreas Jaeger | |
58 | SuSE Labs aj@suse.de | |
59 | private aj@arthur.inka.de | |
60 | http://www.suse.de/~aj | |
61 |