Here’s a basic example of LD_AUDIT:
// compile: gcc -fPIC -shared -o ldaudit.so ldaudit.c
// usage: LD_AUDIT=./ldaudit.so <program>
#include <stdio.h>
__attribute__((constructor))
static void init(void) {
printf("LD_AUDIT\n");
}
unsigned int la_version(unsigned int version) {
return version;
}
Example output:
% LD_AUDIT=./ldaudit.so whoami LD_AUDIT daniel