diff options
author | imp <imp@FreeBSD.org> | 2005-08-10 21:44:26 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2005-08-10 21:44:26 +0000 |
commit | 1807c01bb11002d0bf16d99fa51a684d7a61d0f3 (patch) | |
tree | fb8cd2ddb9c51c7f47f2eca808f0bd3df34a40b7 /share | |
parent | 5ef68f901604a543eb23e684348f41f46724d1df (diff) | |
download | FreeBSD-src-1807c01bb11002d0bf16d99fa51a684d7a61d0f3.zip FreeBSD-src-1807c01bb11002d0bf16d99fa51a684d7a61d0f3.tar.gz |
Document methods people use to load linux shared libraries in FreeBSD
binaries. A very neat trick.
Diffstat (limited to 'share')
-rw-r--r-- | share/man/man5/libmap.conf.5 | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/share/man/man5/libmap.conf.5 b/share/man/man5/libmap.conf.5 index f6da1ea..b347f61 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 use 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 @@ -125,6 +141,11 @@ libpthread.so libpthread.so # programs with the full pathname libpthread.so.1 libthr.so.1 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 , |