Skip to main content

What is the LD_PRELOAD trick?


I came across a reference to it recently on proggit and (as of now) it is not explained.



I suspect this might be it, but I don't know for sure.


Source: Tips4allCCNA FINAL EXAM

Comments

  1. If you set LD_PRELOAD to the path of a shared object, that file will be loaded before any other library (including the C runtime, libc.so). So to run ls with a your special malloc() implementation, do this:

    $ LD_PRELOAD=/path/to/my/malloc.so /bin/ls

    ReplyDelete
  2. With LD_PRELOAD you can give libraries precedence.

    For example you can write a library which implement malloc and free. And by loading these with LD_PRELOAD your malloc and free will be executed rather than the standard ones.

    ReplyDelete
  3. You can override symbols in the stock libraries by creating a library with the same symbols and specifying the library in LD_PRELOAD.

    Some people use it to specify libraries in nonstandard locations, but LD_LIBRARY_PATH is better for that purpose.

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?

Java Urban Myths

Along the line of C++ Urban Myths and Perl Myths : What are the Java Urban Myths? That is, the ideas and conceptions about Java that are common but have no actual roots in reality . As a Java programmer, what ideas held by your fellow Java programmers have you had to disprove so often that you've come to believe they all learned at the feet of the same drunk old story-teller? Ideally, you would express these myths in a single sentence, and include an explanation of why they are false.