Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
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 depen-
     dencies 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	con-
	     straint 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 con-
	     straint.  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 path-
	     name begins with the constraint string.  For instance, the	con-
	     straint [/usr/bin/] will match any	executable with	a path start-
	     ing with /usr/bin/.

     Note that the constraints are matched against the path that was passed as
     the first argument	to whichever exec(3) function was used to execute the
     binary in question.  Most programs	executed from a	shell are run without
     a full path, via execvp(3)	or similar, so the basename constraint type is
     the most useful.

     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	9.3		      September	16, 2013		   FreeBSD 9.3

NAME | DESCRIPTION | FILES | EXAMPLES | SEE ALSO | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<http://www.freebsd.org/cgi/man.cgi?query=libmap.conf&manpath=FreeBSD+10.0-RELEASE>

home | help