diff options
Diffstat (limited to 'static/freebsd/man5/libmap.conf.5 3.html')
| -rw-r--r-- | static/freebsd/man5/libmap.conf.5 3.html | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/static/freebsd/man5/libmap.conf.5 3.html b/static/freebsd/man5/libmap.conf.5 3.html new file mode 100644 index 00000000..3b0b78b8 --- /dev/null +++ b/static/freebsd/man5/libmap.conf.5 3.html @@ -0,0 +1,153 @@ +<table class="head"> + <tr> + <td class="head-ltitle">LIBMAP.CONF(5)</td> + <td class="head-vol">File Formats Manual</td> + <td class="head-rtitle">LIBMAP.CONF(5)</td> + </tr> +</table> +<div class="manual-text"> +<section class="Sh"> +<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> +<p class="Pp"><code class="Nm">libmap.conf</code> — + <span class="Nd">configuration file for dynamic object dependency + mapping</span></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> +<p class="Pp">The <code class="Nm">libmap</code> functionality of + <a class="Xr">ld-elf.so.1(1)</a> allows dynamic object dependencies to be + mapped to arbitrary names.</p> +<p class="Pp">Each line in <span class="Pa">/etc/libmap.conf</span> can have one + of five forms:</p> +<dl class="Bl-tag"> + <dt><var class="Ar">origin</var> <var class="Ar">target</var></dt> + <dd>Whenever a dependency on <var class="Ar">origin</var> is encountered while + loading a dynamic object, use <var class="Ar">target</var> instead of + searching for <var class="Ar">origin</var> in the normal library search + paths.</dd> + <dt><var class="Ar">path1</var> <var class="Ar">path2</var></dt> + <dd>When iterating through a library search path, replace any element that + matches <var class="Ar">path1</var> exactly with + <var class="Ar">path2</var>.</dd> + <dt>[<var class="Ar">constraint</var>]</dt> + <dd>Apply <var class="Ar">constraint</var> to all subsequent mappings until + the next constraint line or the end of the file. See the + <a class="Sx" href="#Constraints">Constraints</a> section for + details.</dd> + <dt id="include"><a class="permalink" href="#include"><code class="Cm">include</code></a> + <var class="Ar">file</var></dt> + <dd>Parse the contents of <var class="Ar">file</var> 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.</dd> + <dt id="includedir"><a class="permalink" href="#includedir"><code class="Cm">includedir</code></a> + <var class="Ar">dir</var></dt> + <dd>Recurse through <var class="Ar">dir</var> and parse the contents of any + file that ends in <span class="Pa">.conf</span> 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.</dd> +</dl> +<section class="Ss"> +<h2 class="Ss" id="Constraints"><a class="permalink" href="#Constraints">Constraints</a></h2> +<p class="Pp">Constrained mappings only apply when processing binaries or + libraries that satisfy the constraint. There are three types of + constraints:</p> +<dl class="Bl-tag"> + <dt>Exact</dt> + <dd>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 <span class="Pa">/usr/bin/foo</span> will not satisfy + the constraint [<span class="Pa">/usr/bin/./foo</span>], and vice-versa. + This is the default constraint type.</dd> + <dt>Basename</dt> + <dd>A constraint with no path is matched against the basename of the + executable. For instance, the constraint [<span class="Pa">foo</span>] + will match <span class="Pa">/bin/foo</span>, + <span class="Pa">/usr/local/sbin/foo</span>, or any other executable named + <span class="Pa">foo</span>, no matter what directory it is in.</dd> + <dt>Directory</dt> + <dd>A constraint with a trailing slash is satisfied if the full pathname + begins with the constraint string. For instance, the constraint + [<span class="Pa">/usr/bin/</span>] will match any executable with a path + starting with <span class="Pa">/usr/bin/</span>.</dd> +</dl> +<p class="Pp">Note that the constraints are matched against the path that was + passed as the first argument to whichever <a class="Xr">exec(3)</a> function + was used to execute the binary in question. Most programs executed from a + shell are run without a full path, via <a class="Xr">execvp(3)</a> or + similar, so the basename constraint type is the most useful.</p> +<p class="Pp"></p> +<div class="Bf Sy">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.</div> +</section> +<section class="Ss"> +<h2 class="Ss" id="ABI_compatibility"><a class="permalink" href="#ABI_compatibility">ABI + compatibility</a></h2> +<p class="Pp">On 64-bit architectures that provide 32-bit binary compatibility, + the mappings in <span class="Pa">/etc/libmap.conf</span> apply only to + 64-bit binaries. Mappings for 32-bit binaries must be placed in + <span class="Pa">/etc/libmap32.conf</span>.</p> +</section> +</section> +<section class="Sh"> +<h1 class="Sh" id="FILES"><a class="permalink" href="#FILES">FILES</a></h1> +<dl class="Bl-tag Bl-compact"> + <dt><span class="Pa">/etc/libmap.conf</span></dt> + <dd>The libmap configuration file.</dd> + <dt><span class="Pa">/etc/libmap32.conf</span></dt> + <dd>The libmap configuration file for 32-bit binaries on 64-bit system.</dd> +</dl> +</section> +<section class="Sh"> +<h1 class="Sh" id="EXAMPLES"><a class="permalink" href="#EXAMPLES">EXAMPLES</a></h1> +<div class="Bd Li"> +<pre># +# 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</pre> +</div> +</section> +<section class="Sh"> +<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE + ALSO</a></h1> +<p class="Pp"><a class="Xr">ldd(1)</a>, <a class="Xr">rtld(1)</a></p> +</section> +<section class="Sh"> +<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1> +<p class="Pp">The <code class="Nm">libmap</code> mechanism first appeared in + <span class="Ux">FreeBSD 5.1</span>.</p> +</section> +<section class="Sh"> +<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1> +<p class="Pp">This manual page was written by <span class="An">Matthew N. + Dodd</span> + <<a class="Mt" href="mailto:winter@jurai.net">winter@jurai.net</a>> + and extensively rewritten by <span class="An">Dag-Erling + Smørgrav</span> + <<a class="Mt" href="mailto:des@FreeBSD.org">des@FreeBSD.org</a>>.</p> +</section> +</div> +<table class="foot"> + <tr> + <td class="foot-date">September 16, 2013</td> + <td class="foot-os">FreeBSD 15.0</td> + </tr> +</table> |
