svn commit: r255385 - in head/etc: . etc.amd64

Dag-Erling Smørgrav des at des.no
Sun Sep 8 11:49:22 UTC 2013


Konstantin Belousov <kostikbel at gmail.com> writes:
> There is no /lib32 on 64bit platforms.

It doesn't exist, but it's supported:

#ifdef COMPAT_32BIT
#undef STANDARD_LIBRARY_PATH
#undef _PATH_ELF_HINTS
#define _PATH_ELF_HINTS         "/var/run/ld-elf32.so.hints"
/* For running 32 bit binaries  */
#define STANDARD_LIBRARY_PATH   "/lib32:/usr/lib32"
#define LD_ "LD_32_"
#endif

> I do not understand why these pathes are neeeded, since compat32 rtld
> has proper default path built in

Did you read the log message?  I am perfectly aware that the two lines
you're complaining about are a no-op; they're included mostly for
documentation purposes.  However, if the code that uses them was made
unconditional (it is currently #ifdef COMPAT_32BIT), these lines would
eliminate the need to hardcode a special STANDARD_LIBRARY_PATH in
rtld-elf.

> but if anything, /lib should be translated to /usr/lib32.

Irrelevant, because while rtld-elf won't find anything there it will
still find what it's looking for in /usr/lib32.

These mappings are *not* applied to individual libraries; they are
applied to STANDARD_LIBRARY_PATH, LD_LIBRARY_PATH and the program's or
library's run-time search path (-rpath).

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the svn-src-head mailing list