ld.so

LD.SO(8)                   Linux Programmer's Manual                  LD.SO(8)



åå
       ld.so, ld-linux.so* - åçãªãªã³ã«ã¼/ãã¼ãã¼

æ¸å¼
       åçãªã³ã«ã¼ã¯ãåçã«ãªã³ã¯ãããããã°ã©ã ãã©ã¤ãã©ãªã®å®è¡ã«ãã£ã¦
       éæ¥çã«å®è¡ãããã¨ãã§ãã (ELF
       ã®å ´åãåçãªã³ã«ã¼ã«ã³ãã³ãã©ã¤ã³ãªãã·ã§ã³ã渡ããã¨ã¯ã§ããã ããã°ã©ã ã®
       .interp ã»ã¯ã·ã§ã³ã«å¥ã£ã¦ããåçãªã³ã«ã¼ãå®è¡ããã)ã
       ã¾ã以ä¸ã®ããã«ç´æ¥å®è¡ãããã¨ãã§ãã

       /lib/ld-linux.so.* [OPTIONS] [PROGRAM [ARGUMENTS]]

説æ
       ããã°ã©ã  ld.so 㨠ld-linux.so* ã¯ããã°ã©ã ã«å¿è¦ãªå±æã©ã¤ãã©ãªãè¦ã¤ãã¦ã‐
       ã¼ããã ããã°ã©ã ã®å®è¡ãæºåãã¦ããèµ·åãããã

       Linux ã®ãã¤ããªã¯ãã³ã³ãã¤ã«ã®æã« ld(1)  ã«å¯¾ã㦠-static
       ãªãã·ã§ã³ãæå®ããã¦ããªãéããåçãªã³ã¯ (å®è¡æãªã³ã¯) ãå¿è¦ã¨ãªãã

       ããã°ã©ã  ld.so 㯠a.out ãã¤ããªãæ±ãã ããã¯ãã£ã¨æã«ä½¿ããã¦ãããã©ã¼ãããã§ããã
       ld-linux.so* (libc5 ã§ã¯ /lib/ld-linux.so.1, glibc2 ã§ã¯
       /lib/ld-linux.so.2)  㯠ELF ãã¤ããªãæ±ãã
       ãã®ãã©ã¼ãããã¯å¤ãã®äººãæè¿ä½å¹´ã使ã£ã¦ããã
       ãã以å¤ã®ç¹ã§ã¯ä¸¡æ¹ã¨ãåãããã«åä½ãã åããµãã¼ããã¡ã¤ã«ã¨ããã°ã©ã  ldd(1),
       ldconfig(8), /etc/ld.so.conf ã使ç¨ããã

       ã©ã¤ãã©ãªã®ä¾åé¢ä¿ã解決ããéãåçãªã³ã«ã¼ã¯ãæåã«ãä¾åé¢ä¿ã®åæå‐
       åãã¹ã©ãã·ã¥ãå«ãã§ãããããã§ãã¯ãã
       (ãã®ç¶æ³ã«ãªãã®ã¯ããªã³ã¯æã«ã¹ã©ãã·ã¥ãå«ãã©ã¤ãã©ãªã®ãã¹åãæå®ãããå ´åã§ãã)ãã¹ã©ãã·ã¥ãè¦ã¤ãã£ãå ´åããã®ä¾å‐
       é¢ä¿ã®æååã¯ãã¹å (ç¸å¯¾ãã¹ã絶対ãã¹ã®ã©ã¡ããå¯)
       ã¨ãã¦è§£éããããã®ãã¹åã使ã£ã¦ãã®ã©ã¤ãã©ãªã¯ãã¼ããããã

       ã©ã¤ãã©ãªã®ä¾åé¢ä¿ã«ã¹ã©ãã·ã¥ãå«ã¾ããªãå ´åã以ä¸ã®é åºã§æ¤ç´¢ãããã

       o  (ELF ã®ã¿)  ãã¤ããªã®åçã»ã¯ã·ã§ã³å±æ§ DT_RPATH ãåå¨ãã DT_RUNPATH
          å±æ§ãåå¨ããªãå ´åã¯ã DT_RPATH ã§æå®ããããã£ã¬ã¯ããªã使ç¨ããã DT_RPATH
          ã®ä½¿ç¨ã¯æ¨å¥¨ãããªãã

       o  ç°å¢å¤æ° LD_LIBRARY_PATH ãç¨ããã ãã ãå®è¡ãã¡ã¤ã«ã
          set-user-ID/set-group-ID ãã¤ããªã®å ´åã ããã¯ç¡è¦ãããã

       o  (ELF ã®ã¿)  ãã¤ããªã®åçã»ã¯ã·ã§ã³å±æ§ DT_RUNPATH ãåå¨ããã°ã DT_RUNPATH
          ã§æå®ããããã£ã¬ã¯ããªã使ç¨ããã

       o  ãã£ãã·ã¥ãã¡ã¤ã« /etc/ld.so.cache ãæ¢ãããã®ãã¡ã¤ã«ã¯ã (ld.so.conf
          ã§è¿½å æå®ããããã®ãå«ãã)
          ã©ã¤ãã©ãªæ¤ç´¢ãã¹ããè¦ã¤ãã£ãã©ã¤ãã©ãªãã¡ã¤ã«ã®æå ±ãéãããã®ã§ããããã ãããã¤ããªããªã³ã«ã¼ãªãã·ã§ã³
          -z nodeflib ã§ãªã³ã¯ããã¦ããå ´åã¯ãããã©ã«ãã®ã©ã¤ãã©ãªãã¹ã«ãã
          ã©ã¤ãã©ãªã¯ã¹ããããããããã¼ãã¦ã§ã¢æ©è½ãã£ã¬ã¯ã㪠(ä¸è¨åç§)
          ã«ã¤ã³ã¹ãã¼ã«ãããã©ã¤ãã©ãªã¯ãä»ã®ã©ã¤ãã©ãªãããåªåãããã

       o  ããã©ã«ããã¹ã§ãã /libã 次ã㧠/usr/lib ãç¨ããã ãã¤ããªããªã³ã«ã¼ãªãã·ã§ã³
          -z nodeflib ã§ãªã³ã¯ããã¦ããå ´åããã®ã¹ãããã¯ã¹ããããããã

   rpath ãã¼ã¯ã³ã®å±é
       ld.so ã§ã¯ rpath æå® (DT_RPATH ã DT_RUNPATH) ä¸ã«ããã¤ãã®ç¹å®ã®æå‐
       åã使ããã¨ãã§ããã ãããã®æååã¯ä»¥ä¸ã®ããã«ç½®ãæããããã

       $ORIGIN (${ORIGIN} ãåã)
              ããã°ã©ã ãå±æã©ã¤ãã©ãªãå¥ã£ã¦ãããã£ã¬ã¯ããªã«å±éãããã ãããã£ã¦ã
              somedir/app ã«ç½®ãããã¢ããªã±ã¼ã·ã§ã³ã

                  gcc -Wl,-rpath,'$ORIGIN/../lib'

              ã§ã³ã³ãã¤ã«ãããã¨ã§ã somedir ããã£ã¬ã¯ããªé層ã®ã©ãã«ãã£ã¦ãã ld.so
              㯠somedir/lib ã«ãã対å¿ããå±æã©ã¤ãã©ãªãè¦ã¤ãããã¨ãã§ããã
              ãã®æ©è½ã使ãã¨ã
              ç¹å¥ãªãã£ã¬ã¯ããªã§ã¯ãªãä»»æã®ãã£ã¬ã¯ããªã«ã¤ã³ã¹ãã¼ã«ãã¦ãããããããè¨‐
              å®ãªãã§ãç¬èªã®å±æã©ã¤ãã©ãªã使ããã¢ããªã±ã¼ã·ã§ã³ãä½æãããã¨ãã§ããã

       $LIB (${LIB} ãåã)
              ã¢ã¼ããã¯ãã£ã¼ã«å¿ã㦠lib ã lib64 ã«å±éããã (ä¾ãã°ã x86-64 ã§ã¯
              lib64 ã«ã x86-32 ã§ã¯ lib ã«å±éããã)ã

       $PLATFORM (${PLATFORM} ãåã)
              ãã¹ãã·ã¹ãã ã®ããã»ããµç¨®å¥ã«å¯¾å¿ããæååã«å±éããã (ä¾ãã° "x86_64")ã
              ããã¤ãã®ã¢ã¼ããã¯ãã£ã¼ã§ã¯ã Linux
              ã«ã¼ãã«ããåçãªã³ã«ã¼ã«ãã©ãããã©ã¼ã ã表ãæååãæä¾ãããªãã ãã®æå‐
              åã®å¤ã¯è£å©ãã¯ãã«ã® AT_PLATFORM å¤ããåå¾ããã (getauxval(3) åç§)ã

ãªãã·ã§ã³
       --list å¨ã¦ã®ä¾åé¢ä¿ã¨ãã®è§£æ±ºæ³ããªã¹ãããã

       --verify
              ããã°ã©ã ãåçã«ãªã³ã¯ããã¦ãããã¨ã åçãªã³ã«ã¼ããã®ãã‐
              ã°ã©ã ãæ±ããããæ¤è¨¼ããã

       --inhibit-cache
              /etc/ld.so.cache ã使ç¨ããªãã

       --library-path PATH
              LD_LIBRARY_PATH ç°å¢å¤æ°ã®è¨å®ã§ã¯ãªãã æå®ãã PATH ã使ç¨ãã
              (ä¸è¨åç§)ã

       --inhibit-rpath LIST
              LIST ã«ãããªãã¸ã§ã¯ãåã® RPATH 㨠RUNPATH ã®æå ±ãç¡è¦ããã ld.so ã
              set-user-ID ã set-group-ID ããã¦ããå ´åã ãã®ãªãã·ã§ã³ã¯ç¡è¦ãããã

       --audit LIST
              LIST ã§æå®ãããååã®ãªãã¸ã§ã¯ããç£æ»èã¨ãã¦ä½¿ç¨ããã

ãã¼ãã¦ã§ã¢æ©è½
       ããã¤ãã®ã©ã¤ãã©ãªã¯ã(ãã¹ã¦ã® CPU ã«åå¨ããããã§ã¯ãªã)ãã¼ãã¦ã§ã¢åºæ
       ã®å½ä»¤ã使ã£ã¦ã³ã³ãã¤ã«ããã¦ããããã®ãããªã©ã¤ãã©ãªã¯ã /usr/lib/sse2/
       ã®ãããªãå¿è¦ãªãã¼ãã¦ã§ã¢æ©è½ (hardware capability) ãè¦
       å®ããååã®ãã£ã¬ã¯ããªã«ã¤ã³ã¹ãã¼ã«ãã¹ãã§ããã
       åçãªã³ã«ã¼ã¯ããã·ã³ã®ãã¼ãã¦ã§ã¢ã«åºã¥ãã¦ãããã®ãã£ã¬ã¯ããªã確èªãã
       æå®ãããã©ã¤ãã©ãªã«æãé©ãããã¼ã¸ã§ã³ãé¸æããã
       ãã¼ãã¦ã§ã¢æ©è½ãã£ã¬ã¯ããªã¯ã¤ãªãããã¨ãã§ãã è¤æ°ã® 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 (32-bit ã®ã¿)
              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

ç°å¢å¤æ°
       éè¦ãªç°å¢å¤æ°ã«ã¯ä»¥ä¸ã®ãã®ãããã

       LD_ASSUME_KERNEL
              (glibc 2.2.3 以é)  åå±æã©ã¤ãã©ãªã¯åçãªã³ã«ã¼ã«å¿è¦ãªã«ã¼ãã« ABI
              ã®æå°ãã¼ã¸ã§ã³ãéç¥ãããã¨ãã§ãã (å¿è¦ãªãã¼ã¸ã§ã³ã¯ ELF ã® note
              section ã«æ ¼ç´ããã readelf -n 㧠NT_GNU_ABI_TAG
              ã®ã©ãã«ãä»ããã»ã¯ã·ã§ã³ã¨ãã¦è¦ããã¨ãã§ãã)ã å®è¡æã«ã
              åçãªã³ã«ã¼ã¯å®è¡ä¸ã®ã«ã¼ãã«ã® ABI ãã¼ã¸ã§ã³ãå¤å®ãã ã«ã¼ãã«ã® ABI
              ãã¼ã¸ã§ã³ããã大ã㪠ABI ã®æå°ãã¼ã¸ã§ã³ãæå®ãããå±æã©ã¤ãã©ãªã®ã‐
              ã¼ããè¡ããªãã

              LD_ASSUME_KERNEL ã使ããã¨ã§ã åçãªã³ã«ã¼ã«ã ç°ãªãã«ã¼ãã« ABI
              ãã¼ã¸ã§ã³ã®ã·ã¹ãã ã§å®è¡ããã¦ãããã®ããã«è¦ãããã¨ãã§ããã ä¾ãã°ã
              以ä¸ã®ã³ãã³ãã©ã¤ã³ãå®è¡ããã¨ã åçãªã³ã«ã¼ã¯ myprog
              ãå¿è¦ã¨ããå±æã©ã¤ãã©ãªããã¼ãããéã« Linux 2.2.5
              ä¸ã§åä½ãã¦ããã¨ä»®å®ããã

                  $ LD_ASSUME_KERNEL=2.2.5 ./myprog

              å¿è¦ãªã«ã¼ãã« ABI ã®æä½ãã¼ã¸ã§ã³ãç°ãªãè¤æ°ã®å±æã©ã¤ãã©ãªã
              (æ¤ç´¢ãã¹ä¸ã®ç°ãªããã£ã¬ã¯ããªã«) ããã·ã¹ãã ã§ã¯ã LD_ASSUME_KERNEL
              ã使ã£ã¦ (ãã£ã¬ã¯ããªæ¤ç´¢é åºã«åºã¥ã)
              使ç¨ããã©ã¤ãã©ãªã®ãã¼ã¸ã§ã³ãé¸æãããã¨ãã§ããã æ´å²çã«è¦ãã¨ã
              LD_ASSUME_KERNEL ã®æãä¸è¬çãªä½¿ãéã¯ã LinuxThreads 㨠NPTL
              ã®ä¸¡æ¹ãæä¾ãã¦ããã·ã¹ãã ã§ã å¤ã LinuxThreads ã® POSIX
              ã¹ã¬ããå®è£ãæåã§é¸æããããã§ãã£ã (ãã®ãããªã·ã¹ãã ã§ã¯ãé常㯠NPTL
              ãããã©ã«ãã§ãã£ã)ã pthreads(7) ãåç§ã

       LD_BIND_NOT
              (glibc 2.2 以é) ã·ã³ãã«ã解決ããéãGlobal Offset Table (GOT) ã¨
              Procedure Linkage Table (PLT) ãæ´æ°ããªãã

       LD_BIND_NOW
              (libc5; glibc 2.1.1 以é)  空æååã§ãªãå ´åã åçãªã³ã«ã¼ã¯ãã‐
              ã°ã©ã ã®éå§æã«å¨ã¦ã®ã·ã³ãã«ã解決ããã 空æå‐
              åã®å ´åã解決ããªããã°ãªããªãé¢æ°å¼ã³åºãã æåã«åç§ãããæç¹ã§è§£æ±ºããã
              ãããã¬ã使ã£ã¦ããã¨ãã«å½¹ç«ã¤ã

       LD_LIBRARY_PATH
              ã³ãã³åºåãã®ãã£ã¬ã¯ããªã®ãªã¹ããå®è¡æã« ELF
              ã©ã¤ãã©ãªãæ¤ç´¢ãããã£ã¬ã¯ããªãæå®ããã PATH ç°å¢å¤æ°ã¨åãããã«æå®ããã
              set-user-ID/set-group-ID ãããããã°ã©ã ã§ã¯ç¡è¦ãããã

       LD_PRELOAD
              追å ã§ã¦ã¼ã¶ã¼ãæå®ãã ELF
              å±æã©ã¤ãã©ãªã®ãªã¹ããæå®ãããã©ã¤ãã©ãªã¯ããã¹ã¦ã®ã©ã¤ãã©ãªããåã«ã‐
              ã¼ããããããªã¹ãã®åºåãã¯ã¹ãã¼ã¹ã¨ã³ã‐
              ã³ã§ãããä»ã®å±æã©ã¤ãã©ãªã«ããé¢æ°ãé¸æçã«ç½®ãæããããã«ç¨ãããã¨ãã§ãããæå®ãããã©ã¤ãã©ãªã¯ã説æãã®ç¯ã§è¿°ã¹ãã«ã¼ã«ãåºãã¦æ¤ç´¢ãããã
              set-user-ID/set-group-ID ããã ELF
              ãã¤ããªã§ã¯ãã¹ã©ãã·ã¥ãå«ãã ãã¹åã®ã©ã¤ãã©ãªã¯ç¡è¦ãããæ¨æºã®æ¤ç´¢ãã£ã¬ã¯ããªã®ã©ã¤ãã©ãªã¯ãã®ã©ã¤ãã©ãªãã¡ã¤ã«ã®
              set-user-ID 許å¯ããããæå¹ã«ãªã£ã¦ããå ´åã®ã¿ãã¼ããããã

       LD_TRACE_LOADED_OBJECTS
              (ELF ã®ã¿)  空æååã§ãªãå ´åã ããã°ã©ã ãæ®éã«å®è¡ããã®ã§ã¯ãªãã
              ldd(1) ãå®è¡ããã¨ãã®ããã«åçã©ã¤ãã©ãªã®ä¾åé¢ä¿ããªã¹ã表示ãããã

       ããã¦ãããã»ã©ç¥ããã¦ããªãç°å¢å¤æ°ãããã
       å¤ãã¯å»ãã¦ãã¾ã£ããã®ãåé¨ã§ã®ã¿ä½¿ç¨ãããç°å¢å¤æ°ã§ããã

       LD_AOUT_LIBRARY_PATH
              (libc5)  a.out ãã¤ããªã«ã®ã¿ä½¿ãããç°å¢å¤æ°ã§ã LD_LIBRARY_PATH
              ã¨åãå½¹å²ãããã ld-linux.so.1 ã®å¤ããã¼ã¸ã§ã³ã§ã¯
              LD_ELF_LIBRARY_PATH ããµãã¼ããã¦ããã

       LD_AOUT_PRELOAD
              (libc5)  a.out ãã¤ããªã«ã®ã¿ä½¿ãããç°å¢å¤æ°ã§ã LD_PRELOAD
              ã¨åãå½¹å²ãããã ld-linux.so.1 ã®å¤ããã¼ã¸ã§ã³ã§ã¯ LD_ELF_PRELOAD
              ããµãã¼ããã¦ããã

       LD_AUDIT
              (glibc 2.4 以é)  ä»ã®ãªãã¸ã§ã¯ããããåã«ãå¥ã®ãªã³ã«ã¼åå空é
              (ãã®ããã»ã¹ã§è¡ããã é常ã®ã·ã³ãã«çµå (symbol bindigns)
              ã«ã¯é¢ä¸ããªãåå空é) 㧠ãã¼ãããããã¦ã¼ã¶ã¼æå®ã® ELF
              å±æãªãã¸ã§ã¯ãã®ã³ãã³åºåãã®ãªã¹ãã
              ãããã®ã©ã¤ãã©ãªã使ã£ã¦ãåçãªã³ã«ã¼ã®åä½ãç£æ»ãããã¨ãã§ããã
              set-user-ID/set-group-ID ããããã¤ããªã§ã¯ã LD_AUDIT ã¯ç¡è¦ãããã

              åçãªã³ã«ã¼ã¯ãããããç£æ»ãã§ãã¯ãã¤ã³ã (auditing checkpoints)
              ã«ããã¦ãç£æ» (audit) ã©ã¤ãã©ãªã®é©åãªé¢æ°ãå¼ã³åºããã¨ã§ã
              ç£æ»ã©ã¤ãã©ãªã¸ã®éç¥ãè¡ããç£æ»ãã§ãã¯ãã¤ã³ãã®ä¾ã¨ãã¦ã¯ã
              æ°ããªã©ã¤ãã©ãªã®ãã¼ããã·ã³ãã«ã®è§£æ±ºãå¥ã®å±æãªãã¸ã§ã¯ã
              ããã®ã·ã³ãã«ã®å¼ã³åºãããªã©ãããã 詳細㯠rtld-audit(7)
              ãåç§ãã¦ã»ããã audit ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¯ãSolaris ã§æä¾ããã¦ãããã®ã¨
              大é¨åã¯äºææ§ããããSolaris ã® audit ã¤ã³ã¿ã¼ãã§ã¼ã¹ã«ã¤ãã¦ã¯ã
              Linker and Libraries Guide ã® Runtime Linker Auditing Interface
              ã®ç« ã«èª¬æãããã

       LD_BIND_NOT
              (glibc 2.1.95 以é)  ã·ã³ãã«ã解決ããå¾ãGOT (global offset
              table) 㨠PLT (procedure linkage table) ãæ´æ°ããªãã

       LD_DEBUG
              (glibc 2.1 以é)  åçãªã³ã«ã¼ã®è©³ç´°ãªãããã°æå ±ãåºåããã all ã«è¨‐
              å®ããå ´åãå¨ã¦ã®åçãªã³ã«ã¼ãæã¤ãããã°æå ±ã表示ããã help ã«è¨‐
              å®ããå ´åããã®ç°å¢å¤æ°ã§æå®ãããã«ãã´ãªã¼ã®ãã«ãæå ±ã表示ããã glibc
              2.3.4 以éã set-user-ID/set-group-ID ããããã¤ããªã§ã¯ LD_DEBUG
              ã¯ç¡è¦ãããã

       LD_DEBUG_OUTPUT
              (glibc 2.1 以é)  LD_DEBUG ã®åºåãæ¸ãè¾¼ããã¡ã¤ã«ã
              ããã©ã«ãã¯æ¨æºã¨ã©ã¼ã§ããã set-user-ID/set-group-ID ããããã¤ããªã§ã¯ã
              LD_DEBUG_OUTPUT ã¯ç¡è¦ãããã

       LD_DYNAMIC_WEAK
              (glibc 2.1.19 以é)  ä¸æ¸ããããå¼±ãã·ã³ãã« (æã® glibc ã®æåãéã«ãã)ã
              ã»ãã¥ãªãã£ä¸ã®çç±ãããglibc 2.3.4 以éã set-user-ID/set-group-ID
              ããããã¤ããªã§ã¯ LD_DYNAMIC_WEAK ã¯ç¡è¦ãããã

       LD_HWCAP_MASK
              (glibc 2.1 以é)  ãã¼ãã¦ã§ã¢æ©è½ã®ãã¹ã¯ã

       LD_KEEPDIR
              (a.out ã®ã¿)(libc5)  ãã¼ããã a.out
              ã©ã¤ãã©ãªã®ååã«ããã¦ããã£ã¬ã¯ããªãç¡è¦ããªãã
              ãã®ãªãã·ã§ã³ã¯ç¨ããã¹ãã§ã¯ãªãã

       LD_NOWARN
              (a.out ã®ã¿)(libc5)  a.out
              ã©ã¤ãã©ãªã«ããããã¤ãã¼ãã¼ã¸ã§ã³çªå·ã®éäºæ㫠対ããè‐
              ¦åã¡ãã»ã¼ã¸ãæå¶ããã

       LD_ORIGIN_PATH
              (glibc 2.1 以é)  ãã¤ããªã¸ã®ãã¹ (set-user-ID ããã¦ããªããã‐
              ã°ã©ã ã«ã¤ãã¦)ã ã»ãã¥ãªãã£ä¸ã®çç±ãããglibc 2.3.4 以éã
              set-user-ID/set-group-ID ããããã¤ããªã§ã¯ LD_ORIGIN_PATH ã¯ç¡è¦ãããã

       LD_POINTER_GUARD
              (glibc 2.4 以é)  0 ã«è¨å®ããã¨ããã¤ã³ã¿ã¼ä¿è· (pointer guarding)
              ãç¡å¹ã«ãªãã ãã以å¤ã®å¤ã®å ´åã¯ãã¤ã³ã¿ã¼ä¿è·ãæå¹ã«ãªãã
              ããã©ã«ãã¯ãã¤ã³ã¿ã¼ä¿è·æå¹ã§ããã ãã¤ã³ã¿ã¼ä¿è·ã¯ã»ã‐
              ã¥ãªãã£æ©æ§ã®ä¸ã¤ã§ãæ¸ãè¾¼ã¿å¯è½ãªããã°ã©ã ã¡ã¢ãªã¼
              ã«æ ¼ç´ãããã³ã¼ãã¸ã®ãã¤ã³ã¿ã¼ãã»ã¼ã©ã³ãã åãããã¨ã§ã
              æ»æèããããã¡ã¼ãªã¼ãã¼ã©ã³ãã¹ã¿ãã¯ç ´å£ (stack-smashing) æ»æã®éã«
              ãã¤ã³ã¿ã¼ãä¹ã£åããã¨ãå°é£ã«ãããã®ã§ããã

       LD_PROFILE
              (glibc 2.1 以é)  ãããã¡ã¤ã«ãè¡ãå±æãªãã¸ã§ã¯ãã®ååã
              ãã¹åãå±æãªãã¸ã§ã¯ãå (soname) ã§æå®ãããã ãããã£ã¼ã«ã®åºåã¯
              "$LD_PROFILE_OUTPUT/$LD_PROFILE.profile" ã¨ããååã®
              ãã¡ã¤ã«ã«è¿½è¨ãããã

       LD_PROFILE_OUTPUT
              (glibc 2.1 以é)  LD_PROFILE ã®åºåãæ¸ãè¾¼ã¾ãããã£ã¬ã¯ããªã
              ãã®å¤æ°ãå®ç¾©ããã¦ããªããã空ã®æååãå®ç¾©ããã¦ããå ´åã ããã©ã«ãå¤ã¯
              /var/tmp ã¨ãªãã set-user-ID/set-group-ID ãããããã°ã©ã ã§ã¯ã
              LD_PROFILE_OUTPUT ã¯ç¡è¦ãããã åºåãã¡ã¤ã«ã¯å¸¸ã« /var/profile
              ã使ç¨ãããã

       LD_SHOW_AUXV
              (glibc 2.1 以é)  ã«ã¼ãã«ãã渡ãããè£å©ç㪠(ãã©ã¡ã¼ã¿ã¼ã®)
              éåã表示ããã ã»ãã¥ãªãã£ä¸ã®çç±ãããglibc 2.3.4 以éã
              set-user-ID/set-group-ID ããããã¤ããªã§ã¯ LD_SHOW_AUXV ã¯ç¡è¦ãããã

       LD_USE_LOAD_BIAS
              ããã©ã«ãã§ã¯ (ã¤ã¾ãããã®å¤æ°ãå®ç¾©ããã¦ããªãå ´å)ã å®è¡ãã¡ã¤ã«ã¨
              prelink ãããå±æãªãã¸ã§ã¯ãã§ã¯ãããããä¾åãã
              ã©ã¤ãã©ãªã®ãã¼ã¹ã¢ãã¬ã¹ãå°éãããä¸æ¹ã (prelink ããã¦ããªã)
              position-independent executables (PIEs) ã¨
              ä»ã®å±æãªãã¸ã§ã¯ãã§ã¯ä¾åããã©ã¤ãã©ãªã®ãã¼ã¹ã¢ãã¬ã¹ã¯ å°éãããªãã
              LD_USE_LOAD_BIAS ãå¤ 1 ã§å®ç¾©ãããå ´åãå®è¡ãã¡ã¤ã«ã¨ PIE
              ã®ã©ã¡ãã§ã ãã¼ã¹ã¢ãã¬ã¹ãå°éãããã LD_USE_LOAD_BIAS ãå¤ 0
              ã§å®ç¾©ãããå ´åãå®è¡ãã¡ã¤ã«ã¨ PIE ã®ã©ã¡ãã§ã
              ãã¼ã¹ã¢ãã¬ã¹ã¯å°éãããªãã set-user-ID ã set-group-ID ããããã‐
              ã°ã©ã ã§ã¯ã ãã®å¤æ°ã¯ç¡è¦ãããã

       LD_VERBOSE
              (glibc 2.1 以é) 空æååã§ãªãå ´åã«ãLD_TRACE_LOADED_OBJECTS
              ç°å¢å¤æ°ãè¨å®ããã¦ããã°ãããã°ã©ã ã®ã·ã³ãã«ãã¼ã¸ã§ã³æå ±ãåºåããã

       LD_WARN
              (ELF ã®ã¿)(glibc 2.1.3 以é)  空æå‐
              åã§ãªãå ´åã解決ããã¦ããªãã·ã³ãã«ãããã°è¦åãåºãã

       LDD_ARGV0
              (libc5)  ldd(1)  ã®å¼ãæ°ããªãå ´åã«ã argv[0] ã¨ãã¦ä½¿ãããå¤ã

ãã¡ã¤ã«
       /lib/ld.so
              a.out ã®åçãªã³ã«ã¼/ãã¼ãã¼
       /lib/ld-linux.so.{1,2}
              ELF ã®åçãªã³ã«ã¼/ãã¼ãã¼
       /etc/ld.so.cache
              ã©ã¤ãã©ãªãæ¤ç´¢ãããã£ã¬ã¯ããªãéãããªã¹ãã¨ã
              å±æã©ã¤ãã©ãªã®åè£ã®æ´åãªã¹ããå«ããã¡ã¤ã«ã
       /etc/ld.so.preload
              ããã°ã©ã ã®åã«ãã¼ããã¹ã ELF å±æã©ã¤ãã©ãªã
              ã¹ãã¼ã¹ã§åºåã£ããªã¹ããæ¸ããã¦ãããã¡ã¤ã«ã
       lib*.so*
              å±æã©ã¤ãã©ãª

注æ
       ld.so ã®æ©è½ã¯ libc ã®ãã¼ã¸ã§ã³ 4.4.3 以ä¸ãç¨ãã¦ã³ã³ãã¤ã«ããã
       å®è¡ãã¡ã¤ã«ã§ä½¿ç¨å¯è½ã§ããã ELF ã®æ©è½ã¯ Linux 1.1.52 以é㨠libc5
       以éã§ä½¿ç¨å¯è½ã§ããã

é¢é£é ç®
       ld(1), ldd(1), pldd(1), sprof(1), dlopen(3), getauxval(3),
       rtld-audit(7), ldconfig(8), sln(8)

ãã®ææ¸ã«ã¤ãã¦
       ãã® man ãã¼ã¸ã¯ Linux man-pages ããã¸ã§ã¯ãã®ãªãªã¼ã¹ 3.79 ã®ä¸é¨
       ã§ãããããã¸ã§ã¯ãã®èª¬æã¨ãã°å ±åã«é¢ããæå ±ã¯
       http://www.kernel.org/doc/man-pages/ ã«æ¸ããã¦ããã



GNU                               2014-12-31                          LD.SO(8)