diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2005-10-28 19:24:41 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2005-10-28 19:24:41 +0000 |
| commit | abf809c118725d9a543e264ae31c0019f28ae27a (patch) | |
| tree | a37ebd9daee6ee0e7a5b70d0090ebede47741222 | |
| parent | 96fb3ac3fc074f5c381bca63dee8a818dd47842e (diff) | |
Notes
| -rw-r--r-- | share/man/man5/libmap.conf.5 | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/share/man/man5/libmap.conf.5 b/share/man/man5/libmap.conf.5 index f6da1eaa4c02..4885df7b6712 100644 --- a/share/man/man5/libmap.conf.5 +++ b/share/man/man5/libmap.conf.5 @@ -95,6 +95,22 @@ The most common use at the date of writing is for allowing multiple .Tn POSIX threading libraries to be used on a system without relinking or changing symlinks. +.Pp +This mechanism has also been used to create shims to allow Linux +shared libraries to be dynamically loaded into +.Fx +binaries. +In this case, an Exact constraint is used for the Linux shared library, +mapping libraries it depends on to a wrapper. +The wrapper then defines any needed symbols for the Linux shared library +and relies on its libraries not being mapped to provide actual +implementations. +It appears that only libraries loaded via +.Xr dlopen 3 +will work correctly. +The symbol version information in shared libraries is checked at +link time, but at run time the version information is currently +ignored. .Sh FILES .Bl -tag -width ".Pa /etc/libmap.conf" -compact .It Pa /etc/libmap.conf @@ -106,25 +122,23 @@ The libmap configuration file. # # candidate mapping # -libpthread.so.1 libpthread.so.1 # Everything uses 'libpthread' -libpthread.so libpthread.so - -libc_r.so.5 libpthread.so.1 # Everything that uses 'libc_r' +libc_r.so.6 libpthread.so.2 # Everything that uses 'libc_r' libc_r.so libpthread.so # now uses 'libpthread' [/tmp/mplayer] # Test version of mplayer uses libc_r -libpthread.so.1 libc_r.so.5 +libpthread.so.2 libc_r.so.6 libpthread.so libc_r.so -[mplayer] # All other mplayers use libpthread -libpthread.so.1 libpthread.so.1 -libpthread.so libpthread.so - [/usr/local/jdk1.4.1/] # All Java 1.4.1 programs use libthr # This works because "javavms" executes # programs with the full pathname -libpthread.so.1 libthr.so.1 +libpthread.so.2 libthr.so.2 libpthread.so libthr.so + +# Glue for Linux-only EPSON printer .so to be loaded into cups, etc. +[/usr/local/lib/pips/libsc80c.so] +libc.so.6 pluginwrapper/pips.so +libdl.so.2 pluginwrapper/pips.so .Ed .Sh SEE ALSO .Xr ldd 1 , |
