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 dependen-
     cies 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  dy-
	     namic  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  en-
	     countered 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  path-
	     name  begins  with  the  constraint string.  For instance, the con-
	     straint [/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 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  map-
     pings  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 ex-
     tensively rewritten by Dag-Erling Smorgrav <des@FreeBSD.org>.

FreeBSD ports 15.quarterly     September 16, 2013		  LIBMAP.CONF(5)

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

home | help