1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#include <dlfcn.h> #include <stdlib.h> int obj5func1 (int a __attribute__ ((unused))) { return 66; } int obj5func2 (int a) { return foo (a) + 44; } int preload (int a) { int (*fp) (int) = dlsym (RTLD_NEXT, "preload"); if (fp != NULL) return fp (a) + 10; return 10; }