Skip to playerSkip to main content
  • 10 years ago
Facts : 1 Systems using ELF In Unix-like systems that use ELF for executable images and dynamic libraries, such as Solaris, 64-bit versions of HP-UX, Linux, FreeBSD, NetBSD, OpenBSD, and DragonFly BSD, the path of the dynamic linker that should be used is embedded at link time into the .interp section of the executable s PT_INTERP segment
Facts : 2 In those systems, dynamically loaded shared libraries can be identified by the filename suffix .so (shared object)
Facts : 3 The dynamic linker can be influenced into modifying its behavior during either the program s execution or the program s linking, and the examples of this can be seen in the run-time linker manual pages for various Unix-like systems
Facts : 4 A typical modification of this behavior is the use of LD_LIBRARY_PATH and LD_PRELOAD environment variables, which adjust the runtime linking process by searching for shared libraries at alternate locations and by forcibly loading and linking libraries that would otherwise not be, respectively
Facts : 5 An example is zlibc, also known as uncompress.so, which facilitates transparent decompression when used through the LD_PRELOAD hack; as a result, it is possible to read pre-compressed (gzipped) file data on BSD and Linux systems as if the files were not compressed, essentially allowing a user to add transparent compression to the underlying filesystem, although with some caveats
Facts : 6 The mechanism is flexible, allowing trivial adaptation of the same code to perform additional or alternate processing of data during the file read, prior to the provision of said data to the user process that has requested it
Be the first to comment
Add your comment

Recommended