[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r5226 - in glibc-package/trunk/debian: . local/manpages



Author: aurel32
Date: 2012-04-29 13:39:14 +0000 (Sun, 29 Apr 2012)
New Revision: 5226

Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/local/manpages/ld.so.8
Log:
  * local/manpages/ld.so.8: update from various sources to document missing
    environment variables.  Closes: #669179.



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2012-04-29 13:15:33 UTC (rev 5225)
+++ glibc-package/trunk/debian/changelog	2012-04-29 13:39:14 UTC (rev 5226)
@@ -65,6 +65,8 @@
   * local/manpages/locale.1: fix warnings from "groff".  Closes: #661041.
   * patches/hppa/*: update hppa patchset from a mix of CVS, submitted and
     unknown sources patches.  Closes: #666774.
+  * local/manpages/ld.so.8: update from various sources to document missing
+    environment variables.  Closes: #669179.
 
  -- Aurelien Jarno <aurel32@debian.org>  Thu, 26 Apr 2012 16:37:27 +0200
 

Modified: glibc-package/trunk/debian/local/manpages/ld.so.8
===================================================================
--- glibc-package/trunk/debian/local/manpages/ld.so.8	2012-04-29 13:15:33 UTC (rev 5225)
+++ glibc-package/trunk/debian/local/manpages/ld.so.8	2012-04-29 13:39:14 UTC (rev 5226)
@@ -53,7 +53,15 @@
 .TP
 .B \-\-inhibit\-rpath LIST
 .SH ENVIRONMENT
+There are four important environment variables.
 .TP
+.B LD_BIND_NOW
+If set to a nonempty string,
+causes the dynamic linker to resolve all symbols
+at program startup instead of deferring function call resolution to the point
+when they are first referenced.
+This is useful when using a debugger.
+.TP
 .B LD_LIBRARY_PATH
 A colon-separated list of directories in which to search for
 ELF libraries at execution-time.
@@ -69,16 +77,14 @@
 directories that are also setgid will be loaded.
 .TP
 .B LD_TRACE_LOADED_OBJECTS
-If present, causes the program to list its dynamic library dependencies,
-as if run by ldd, instead of running normally.
+If set to a nonempty string, causes the program to list its dynamic library
+dependencies, as if run by
+.BR ldd (1),
+instead of running normally.
+.LP
+Then there are lots of more or less obscure variables,
+many obsolete or only for internal use.
 .TP
-.B LD_BIND_NOW
-If present, causes the dynamic linker to resolve all symbols at program
-startup instead of when they are first referenced.
-.TP
-.B LD_BIND_NOT 
-Do not update the GOT (global offset table) and PLT (procedure linkage table) after resolving a symbol.
-.TP
 .B LD_AOUT_LIBRARY_PATH
 A colon-separated list of directories in which to search for
 a.out libraries at execution-time.
@@ -91,16 +97,34 @@
 after all others.
 This can be used to selectively override functions in other shared libraries.
 .TP
-.B LD_NOWARN
-Suppress warnings about a.out libraries with incompatible minor 
-version numbers.
+.B LD_ASSUME_KERNEL
+This environment variable overrides the kernel version used by the dynamic linker to determine 
+which library to load.
 .TP
-.B LD_WARN
-If set to non-empty string, warn about unresolved symbols.
+.B LD_AUDIT
+A colon-separated list of user-specified, ELF shared objects
+to be loaded before all others in a separate linker namespace
+(i.e., one that does not intrude upon the normal symbol bindings that
+would occur in the process).
+These libraries can be used to audit the operation of the dynamic linker.
+.B LD_AUDIT
+is ignored for set-user-ID/set-group-ID binaries.
+
+The dynamic linker will notify the audit
+libraries at so-called auditing checkpoints\(emfor example,
+loading a new library, resolving a symbol,
+or calling a symbol from another shared object\(emby
+calling an appropriate function within the audit library.
+For details, see
+.BR rtld-audit (7).
+The auditing interface is largely compatible with that provided on Solaris,
+as described in its
+.IR "Linker and Libraries Guide" ,
+in the chapter
+.IR "Runtime Linker Auditing Interface" .
 .TP
-.B LD_KEEPDIR
-Don't ignore the directory in the names of a.out libraries to be loaded.
-Use of this option is strongly discouraged.
+.B LD_BIND_NOT 
+Do not update the GOT (global offset table) and PLT (procedure linkage table) after resolving a symbol.
 .TP
 .B LD_DEBUG
 Output verbose debugging information about the dynamic linker.
@@ -112,30 +136,84 @@
 File where LD_DEBUG output should be fed into, default is standard
 output. LD_DEBUG_OUTPUT is ignored for setuid/setgid binaries.
 .TP
+.B LD_DYNAMIC_WEAK
+Allow weak symbols to be overridden (reverting to old glibc behavior).
+For security reasons, since glibc 2.3.4,
+.B LD_DYNAMIC_WEAK
+is ignored for set-user-ID/set-group-ID binaries.
+.TP
+.B LD_HWCAP_MASK
+Mask for hardware capabilities.
+.TP
+.B LD_KEEPDIR
+Don't ignore the directory in the names of a.out libraries to be loaded.
+Use of this option is strongly discouraged.
+.TP
+.B LD_NOWARN
+Suppress warnings about a.out libraries with incompatible minor 
+version numbers.
+.TP
+.B LD_ORIGIN_PATH
+Path where the binary is found (for non-set-user-ID programs).
+For security reasons, since glibc 2.4,
+.B LD_ORIGIN_PATH
+is ignored for set-user-ID/set-group-ID binaries.
+.TP
+.B LD_POINTER_GUARD
+Set to 0 to disable pointer guarding.
+Any other value enables pointer guarding, which is also the default.
+Pointer guarding is a security mechanism whereby some pointers to code
+stored in writable program memory (return addresses saved by
+.BR setjmp (3)
+or function pointers used by various glibc internals) are mangled
+semi-randomly to make it more difficult for an attacker to hijack
+the pointers for use in the event of a buffer overrun or
+stack-smashing attack.
+.TP
+.B LD_PROFILE
+output should be written.
+If this variable is not defined, or is defined as an empty string,
+then the default is
+.IR /var/tmp .
+.B LD_PROFILE_OUTPUT
+is ignored for set-user-ID and set-group-ID programs,
+which always use
+.IR /var/profile .
+.TP
+.B LD_SHOW_AUXV
+Show auxiliary array passed up from the kernel.
+For security reasons, since glibc 2.3.5,
+.B LD_SHOW_AUXV
+is ignored for set-user-ID/set-group-ID binaries.
+.TP
+.B LD_USE_LOAD_BIAS
+By default (i.e., if this variable is not defined)
+executables and prelinked
+shared objects will honor base addresses of their dependent libraries
+and (nonprelinked) position-independent executables (PIEs)
+and other shared objects will not honor them.
+If
+.B LD_USE_LOAD_BIAS
+is defined wit the value, both executables and PIEs
+will honor the base addresses.
+If
+.B LD_USE_LOAD_BIAS
+is defined with the value 0,
+neither executables nor PIEs will honor the base addresses.
+This variable is ignored by set-user-ID and set-group-ID programs.
 .B LD_VERBOSE
 If set to non-empty string, output symbol versioning information
 about the program if querying information about the program (ie. either
-.B LD_TRACE_LOADED_OBJECTS 
-has been set, or --list or --verify options have been given to the dynamic linker).
 .TP
-.B LD_PROFILE 
-Shared object to be profiled. 
+.B LD_WARN
+If set to non-empty string, warn about unresolved symbols.
 .TP
-.B
-LD_PROFILE_OUTPUT 
-File where 
-.B LD_PROFILE
-output should be stored, default is standard output. LD_PROFILE_OUTPUT is ignored for setuid/setgid binaries.
-.TP
 .B LD_ASSUME_KERNEL
 Every DSO (Dynamic Shared Object, aka shared library) can tell the dynamic linker in glibc which
 minimum OS ABI version is needed. The information about the minimum OS ABI version is encoded in
 a ELF note section usually named .note.ABI-tag. This is used to determine which library to load
 when multiple version of the same library is installed on the system.
 The
-.B LD_ASSUME_KERNEL
-environment variable overrides the kernel version used by the dynamic linker to determine which
-library to load.
 .SH RPATH TOKEN EXPANSION
 The runtime linker provides a number of tokens that can be used in an rpath 
 specification (\fBDT_RPATH\fR or \fBDT_RUNPATH\fR).


Reply to: