ld.so(8) System Manager's Manual ld.so(8) (NAME) ld.so, ld-linux.so - (SYNOPSIS) ( ELF .interp ) : /lib/ld-linux.so.* [OPTIONS] [PROGRAM [ARGUMENTS]] (DESCRIPTION) ld.so ld-linux.so* ( ) . ( ) -static ld(1) . ld.so a.out . ld-linux.so* (/lib/ld-linux.so.1 libc5 /lib/ld-linux.so.2 glibc2) ELF . (ldd(1) ldconfig(8) /etc/ld.so.conf) . ( ). ( ) . : (1) DT_RPATH DT_RUNPATH . (2) LD_LIBRARY_PATH ( ) . (3) DT_RUNPATH . DT_NEEDED ( ) DT_RUNPATH . DT_RPATH . (4) /etc/ld.so.cache . -z nodefaultlib . ( ) . (5) /lib /usr/lib. ( /lib64 /usr/lib64.) -z nodefaultlib . (Dynamic string tokens) : o LD_LIBRARY_PATH LD_PRELOAD LD_AUDIT o DT_NEEDED DT_RPATH DT_RUNPATH DT_AUDIT DT_DEPAUDIT ELF o ld.so --audit --library-path --preload ( ) o dlopen(3) dlmopen(3). : $ORIGIN ( ${ORIGIN}) . somedir/app : gcc -Wl,-rpath,'$ORIGIN/../lib' somedir somedir/lib . << >> (turn-key) . $LIB ( ${LIB}) lib lib64 ( x86-64 lib64 x86-32 lib ). $PLATFORM ( ${PLATFORM}) ( "x86_64") . . AT_PLATFORM ( getauxval(3)). (quote) . (OPTIONS) --argv0 string ( glibc 2.33) argv[0] string . --audit list list (auditor). list (:) . --glibc-hwcaps-mask list list . --glibc-hwcaps-prepend list glibc-hwcaps list. --inhibit-cache /etc/ld.so.cache. --library-path path path LD_LIBRARY_PATH ( ). ORIGIN LIB PLATFORM LD_LIBRARY_PATH . --inhibit-rpath list RPATH RUNPATH list. ( ). list . --list . --list-diagnostics ( glibc 2.33) ( getauxval(3)) . ( cpu GNU x86). --list-tunables ( glibc 2.33) (tunables) . --preload list ( glibc 2.30) list. list . LD_PRELOAD . LD_PRELOAD --preload . --verify . (ENVIRONMENT) . (Secure-execution mode) (strip) . . : GCONV_PATH GETCONF_DIR HOSTALIASES LOCALDOMAIN LD_AUDIT LD_DEBUG LD_DEBUG_OUTPUT LD_DYNAMIC_WEAK LD_HWCAP_MASK LD_LIBRARY_PATH LD_ORIGIN_PATH LD_PRELOAD LD_PROFILE LD_SHOW_AUXV LOCALDOMAIN LOCPATH MALLOC_TRACE NIS_PATH NLSPATH RESOLV_HOST_CONF RES_OPTIONS TMPDIR TZDIR. AT_SECURE ( getauxval(3)) . : o . set- user-ID set-group-ID . o (capabilities) . o . (Environment variables) : LD_ASSUME_KERNEL ( glibc 2.2.3 glibc 2.36) ABI . ( ELF readelf -n NT_GNU_ABI_TAG .) ABI ABI . LD_ASSUME_KERNEL ABI . myprog 2.2.5 : $ LD_ASSUME_KERNEL=2.2.5 ./myprog ( ) ABI LD_ASSUME_KERNEL ( ) . LD_ASSUME_KERNEL LinuxThreads LinuxThreads NPTL ( NPTL ) pthreads(7). LD_BIND_NOW ( glibc 2.1.1) . (debugger) . LD_LIBRARY_PATH ELF . (escape) . . . LD_LIBRARY_PATH $ORIGIN $LIB $PLATFORM ( ) . lib lib64 : $ LD_LIBRARY_PATH='$ORIGIN/$LIB' prog ( $ORIGIN $LIB !) LD_PRELOAD ELF . (override) . . <<>> . (link map) . . set-user-ID ( ). LD_PRELOAD $ORIGIN $LIB $PLATFORM ( ) . ( LD_LIBRARY_PATH .) : (1) LD_PRELOAD. (2) --preload . (3) /etc/ld.so.preload ( ). LD_TRACE_LOADED_OBJECTS ( ) ldd(1) . . LD_AUDIT ( glibc 2.4) ELF ( ). . . LD_AUDIT . -- -- . rtld-audit(7). Solaris . LD_AUDIT $ORIGIN $LIB $PLATFORM ( ) . ( LD_LIBRARY_PATH .) glibc 2.13 set- user-ID . LD_BIND_NOT ( glibc 2.1.95) GOT ( ) PLT ( ) . LD_DEBUG ( bindings symbols) . LD_DEBUG ( glibc 2.1) . ( ) : help help . all ( statistics unused ). bindings . files . libs . reloc (relocations). scopes (scope). statistics . symbols . unused DSO . versions . glibc 2.3.4 LD_DEBUG /etc/suid-debug ( ). LD_DEBUG_OUTPUT ( glibc 2.1) LD_DEBUG . LD_DEBUG_OUTPUT "." () (PID) . LD_DEBUG_OUTPUT . LD_DYNAMIC_WEAK ( glibc 2.1.91) . glibc ( glibc 2.2) : (weak) . (strong) . ( .) glibc . ( .) glibc 2.2 ( ). LD_DYNAMIC_WEAK ( ) () glibc (override) . ( .) glibc 2.3.4 LD_DYNAMIC_WEAK . LD_HWCAP_MASK ( glibc 2.1 glibc 2.38) . glibc 2.26 glibc (tunables) . LD_ORIGIN_PATH ( glibc 2.1) . glibc 2.4 LD_ORIGIN_PATH . LD_POINTER_GUARD ( glibc 2.4 glibc 2.22) 0 (pointer guarding). . ( setjmp(3) glibc) (mangle) (stack-smashing) . glibc 2.23 LD_POINTER_GUARD . LD_PROFILE ( glibc 2.1) () soname . : $LD_PROFILE_OUTPUT/ $LD_PROFILE.profile. glibc 2.2.5 LD_PROFILE . LD_PROFILE_OUTPUT ( glibc 2.1) LD_PROFILE . /var/tmp . LD_PROFILE_OUTPUT /var/profile . LD_SHOW_AUXV ( glibc 2.1) ( ) ( getauxval(3)). glibc 2.3.4 LD_SHOW_AUXV . LD_TRACE_PRELINKING ( glibc 2.4 glibc 2.35) (prelinking) . ( ldd(1) .) . LD_USE_LOAD_BIAS ( glibc 2.3.3 glibc 2.35) ( ) (PIE) . LD_USE_LOAD_BIAS 1 PIE . LD_USE_LOAD_BIAS 0 PIE . glibc 2.3.3 . LD_VERBOSE ( glibc 2.1) LD_TRACE_LOADED_OBJECTS . LD_WARN ( glibc 2.1.3) . LD_PREFER_MAP_32BIT_EXEC ( x86-64 glibc 2.23) Intel Silvermont (branch) . ( ) MAP_32BIT mmap(2) . : MAP_32BIT ( ) . MAP_32BIT (ASLR) LD_PREFER_MAP_32BIT_EXEC . (FILES) /lib/ld.so a.out /lib/ld-linux.so.{1,2} ELF /etc/ld.so.cache (tunables) . ldconfig(8). /etc/ld.so.preload ELF . LD_PRELOAD . LD_PRELOAD /etc/ld.so.preload LD_PRELOAD . /etc/ld.so.preload . ( .) lib*.so* (NOTES) ( glibc 2.5 glibc 2.37) . /usr/lib/sse2/. . CPU . CPU . : Alpha ev4, ev5, ev56, ev6, ev67 MIPS loongson2e, loongson2f, octeon, octeon2 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 SPARC flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2 s390 dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, z990, z9-109, z10, zarch x86 ( ) 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 . x86 i686 sse2 i686/sse2:i686:sse2:. . newcap newcap/i686/sse2:newcap/i686:newcap/sse2:newcap:i686/sse2:i686:sse2: . glibc ( glibc 2.33) glibc 2.33 CPU . . . x86 x86_64-v3 ( Intel Haswell AMD Excavator) : glibc-hwcaps/x86-64-v3:glibc-hwcaps/x86-64-v2:. : PowerPC ( little-endian) power10, power9 s390 ( ) z16, z15, z14, z13 x86 ( ) x86-64-v4, x86-64-v3, x86-64-v2 glibc 2.37 . (SEE ALSO) ld(1), ldd(1), pldd(1), sprof(1), dlopen(3), getauxval(3), elf(5), ld.so.conf(8), capabilities(7), rtld-audit(7), ldconfig(8), sln(8) Linux man-pages 6.19 2026-08-03 ld.so(8)