From de1f0d4764025c9686671ce7c18a797d6983c5de Mon Sep 17 00:00:00 2001 From: Jonathan Nieder Date: Tue, 17 Apr 2012 08:38:16 +1200 Subject: [PATCH] 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 Signed-off-by: Jonathan Nieder Signed-off-by: Michael Kerrisk --- man8/ld.so.8 | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/man8/ld.so.8 b/man8/ld.so.8 index 2fbacae01..72e69f743 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