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