aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Nieder <jrnieder@gmail.com>2012-04-17 08:38:16 +1200
committerMichael Kerrisk <mtk.manpages@gmail.com>2012-04-17 23:09:15 +1200
commitde1f0d4764025c9686671ce7c18a797d6983c5de (patch)
treefdc43aea2d7cb48e25e0cb05e2297d2aef5495be
parent6f92d1d707ab8be3ba44e4cc6d15ab93ba57958f (diff)
downloadman-pages-de1f0d4764025c9686671ce7c18a797d6983c5de.tar.gz
ld.so.8: Document effect of hwcaps on search path
Wording by Aurelien Jarno from Debian glibc's r4701 (2011-06-04). Addresses http://bugs.debian.org/622385 Reported-by: Reuben Thomas <rrt@sc3d.org> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
-rw-r--r--man8/ld.so.836
1 files changed, 36 insertions, 0 deletions
diff --git a/man8/ld.so.8 b/man8/ld.so.8
index 2fbacae016..72e69f743f 100644
--- a/man8/ld.so.8
+++ b/man8/ld.so.8
@@ -64,6 +64,8 @@ in the augmented library path.
If, however, the binary was linked with the
.B \-z nodeflib
linker option, libraries in the default library paths are skipped.
+Libraries installed in hardware capability directories (see below)
+are preferred to other libraries.
.IP o
In the default path
.IR /lib ,
@@ -129,6 +131,40 @@ is set-user-ID or set-group-ID.
.TP
.B \-\-audit LIST
Use objects named in LIST as auditors.
+.SH HARDWARE CAPABILITIES
+Some libraries are compiled using hardware-specific instructions which do
+not exist on every CPU.
+Such libraries should be installed in directories whose names define the
+required hardware capabilities, such as
+.IR /usr/lib/sse2/ .
+The dynamic linker checks these directories against the hardware of the
+machine and selects the most suitable version of a given library.
+Hardware capability directories can be cascaded to combine CPU features.
+The list of supported hardware capability names depends on the CPU.
+The following names are currently recognized:
+.TP
+.B Alpha
+ev4, ev5, ev56, ev6, ev67
+.TP
+.B MIPS
+loongson2e, loongson2f, octeon, octeon2
+.TP
+.B PowerPC
+4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, efpsingle,
+fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, ppc32, ppc601,
+ppc64, smt, spe, ucache, vsx
+.TP
+.B SPARC
+flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2
+.TP
+.B s390
+dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle,
+z900, z990, z9-109, z10, zarch
+.TP
+.TP
+.B x86 (32-bit only)
+acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, mmx,
+mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm
.SH ENVIRONMENT
There are four important environment variables.
.TP