summaryrefslogtreecommitdiff
path: root/static/freebsd/man5/libmap.conf.5
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man5/libmap.conf.5')
-rw-r--r--static/freebsd/man5/libmap.conf.5179
1 files changed, 179 insertions, 0 deletions
diff --git a/static/freebsd/man5/libmap.conf.5 b/static/freebsd/man5/libmap.conf.5
new file mode 100644
index 00000000..ae876c1e
--- /dev/null
+++ b/static/freebsd/man5/libmap.conf.5
@@ -0,0 +1,179 @@
+.\" Copyright (c) 2003 Matthew N. Dodd <winter@jurai.net>
+.\" Copyright (c) 2013 Dag-Erling Smørgrav
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.Dd September 16, 2013
+.Dt LIBMAP.CONF 5
+.Os
+.Sh NAME
+.Nm libmap.conf
+.Nd "configuration file for dynamic object dependency mapping"
+.Sh DESCRIPTION
+The
+.Nm libmap
+functionality of
+.Xr ld-elf.so.1 1
+allows dynamic object dependencies to be mapped to arbitrary names.
+.Pp
+Each line in
+.Pa /etc/libmap.conf
+can have one of five forms:
+.Bl -tag -width indent
+.It Ar origin Ar target
+Whenever a dependency on
+.Ar origin
+is encountered while loading a dynamic object, use
+.Ar target
+instead of searching for
+.Ar origin
+in the normal library search paths.
+.It Ar path1 Ar path2
+When iterating through a library search path, replace any element that
+matches
+.Ar path1
+exactly with
+.Ar path2 .
+.It Bq Ar constraint
+Apply
+.Ar constraint
+to all subsequent mappings until the next constraint line or the end
+of the file.
+See the
+.Sx Constraints
+section for details.
+.It Cm include Ar file
+Parse the contents of
+.Ar file
+before continuing with the current file.
+Nesting depth is limited only by available memory, but each file
+encountered is processed only once, and loops are silently ignored.
+.It Cm includedir Ar dir
+Recurse through
+.Ar dir
+and parse the contents of any file that ends in
+.Pa .conf
+before continuing with the current file.
+Nesting depth is limited only by available memory, but each directory
+or file encountered is processed only once, and loops are silently
+ignored.
+.El
+.Ss Constraints
+Constrained mappings only apply when processing binaries or libraries
+that satisfy the constraint.
+There are three types of constraints:
+.Bl -tag -width indent
+.It Exact
+The constraint is matched literally so that only an executable with an
+identical fully qualified pathname will satisfy the constraint.
+This means that the executable
+.Pa /usr/bin/foo
+will not satisfy the constraint
+.Bq Pa /usr/bin/./foo ,
+and vice-versa.
+This is the default constraint type.
+.It Basename
+A constraint with no path is matched against the basename of the
+executable.
+For instance, the constraint
+.Bq Pa foo
+will match
+.Pa /bin/foo ,
+.Pa /usr/local/sbin/foo ,
+or any other executable named
+.Pa foo ,
+no matter what directory it is in.
+.It Directory
+A constraint with a trailing slash is satisfied if the full pathname
+begins with the constraint string.
+For instance, the constraint
+.Bq Pa /usr/bin/
+will match any executable with a path starting with
+.Pa /usr/bin/ .
+.El
+.Pp
+Note that the constraints are matched against the path that was passed
+as the first argument to whichever
+.Xr exec 3
+function was used to execute the binary in question.
+Most programs executed from a shell are run without a full path, via
+.Xr execvp 3
+or similar, so the basename constraint type is the most useful.
+.Pp
+.Bf -symbolic
+WARNING!
+Constraints apply to all mappings until the next constraint or the end
+of the file.
+Hence, unconstrained mappings must be placed at the top of the file.
+.Ef
+.Ss ABI compatibility
+On 64-bit architectures that provide 32-bit binary compatibility, the
+mappings in
+.Pa /etc/libmap.conf
+apply only to 64-bit binaries.
+Mappings for 32-bit binaries must be placed in
+.Pa /etc/libmap32.conf .
+.Sh FILES
+.Bl -tag -width ".Pa /etc/libmap32.conf" -compact
+.It Pa /etc/libmap.conf
+The libmap configuration file.
+.It Pa /etc/libmap32.conf
+The libmap configuration file for 32-bit binaries on 64-bit system.
+.El
+.Sh EXAMPLES
+.Bd -literal
+#
+# origin target
+#
+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.2 libc_r.so.6
+libpthread.so libc_r.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.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 ,
+.Xr rtld 1
+.Sh HISTORY
+The
+.Nm libmap
+mechanism first appeared in
+.Fx 5.1 .
+.Sh AUTHORS
+.An -nosplit
+This manual page was written by
+.An Matthew N. Dodd Aq Mt winter@jurai.net
+and extensively rewritten by
+.An Dag-Erling Sm\(/orgrav Aq Mt des@FreeBSD.org .