FreeBSD manual
download PDF document: libmap.conf.5.pdf
LIBMAP.CONF(5) FreeBSD File Formats Manual LIBMAP.CONF(5)
NAME
libmap.conf - configuration file for dynamic object dependency mapping
DESCRIPTION
The libmap functionality of ld-elf.so.1(1) allows dynamic object
dependencies to be mapped to arbitrary names.
Each line in /etc/libmap.conf can have one of five forms:
origin target
Whenever a dependency on origin is encountered while loading a
dynamic object, use target instead of searching for origin in the
normal library search paths.
path1 path2
When iterating through a library search path, replace any element
that matches path1 exactly with path2.
[constraint]
Apply constraint to all subsequent mappings until the next
constraint line or the end of the file. See the Constraints
section for details.
include file
Parse the contents of 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.
includedir dir
Recurse through dir and parse the contents of any file that ends
in .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.
Constraints
Constrained mappings only apply when processing binaries or libraries
that satisfy the constraint. There are three types of constraints:
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 /usr/bin/foo will not
satisfy the constraint [/usr/bin/./foo], and vice-versa. This is
the default constraint type.
Basename
A constraint with no path is matched against the basename of the
executable. For instance, the constraint [foo] will match
/bin/foo, /usr/local/sbin/foo, or any other executable named foo,
no matter what directory it is in.
Directory
A constraint with a trailing slash is satisfied if the full
pathname begins with the constraint string. For instance, the
constraint [/usr/bin/] will match any executable with a path
starting with /usr/bin/.
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.
ABI compatibility
On 64-bit architectures that provide 32-bit binary compatibility, the
mappings in /etc/libmap.conf apply only to 64-bit binaries. Mappings for
32-bit binaries must be placed in /etc/libmap32.conf.
FILES
/etc/libmap.conf The libmap configuration file.
/etc/libmap32.conf The libmap configuration file for 32-bit binaries on
64-bit system.
EXAMPLES
#
# 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
SEE ALSO
ldd(1), rtld(1)
HISTORY
The libmap mechanism first appeared in FreeBSD 5.1.
AUTHORS
This manual page was written by Matthew N. Dodd <winter@jurai.net> and
extensively rewritten by Dag-Erling Smorgrav <des@FreeBSD.org>.
FreeBSD 14.0-RELEASE-p11 September 16, 2013 FreeBSD 14.0-RELEASE-p11