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

FreeBSD Manual Pages

  
 
  

home | help
LIBMAP.CONF(5)		      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 ele-
	       ment 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
	       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/.

       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  con-
       straint 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	13.2		      September	16, 2013		LIBMAP.CONF(5)

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

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

home | help