summaryrefslogtreecommitdiff
path: root/static/freebsd/man5/libmap.conf.5 3.html
diff options
context:
space:
mode:
Diffstat (limited to 'static/freebsd/man5/libmap.conf.5 3.html')
-rw-r--r--static/freebsd/man5/libmap.conf.5 3.html153
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> &#x2014;
+ <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 &quot;javavms&quot; 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>
+ &lt;<a class="Mt" href="mailto:winter@jurai.net">winter@jurai.net</a>&gt;
+ and extensively rewritten by <span class="An">Dag-Erling
+ Sm&#x00F8;rgrav</span>
+ &lt;<a class="Mt" href="mailto:des@FreeBSD.org">des@FreeBSD.org</a>&gt;.</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>