“Sometimes, you might want to determine what is happening in a
shared library without modifying the library (have you tried to
build glibc lately?). Other times, you might want to override only
a few functions within a library and get them to do something
else–force a process to a specific CPU, prevent a specific USB
message from being sent and so on. All of these tasks are possible
if you use the LD_PRELOAD environment variable and a small shim
program placed between the application and the library.“As an example, say you create a shared library object called
shim.so and want it to be loaded before any other shared library.
Say you also want to run the program ‘test…'”
Linux Journal: Modifying a Dynamic Library Without Changing the Source Code
By
Greg Kroah-Hartman
Get the Free Newsletter!
Subscribe to Developer Insider for top news, trends, & analysis