| Ryan Prichard | 058eb8f | 2020-12-17 22:59:04 -0800 | [diff] [blame] | 1 | #include <dlfcn.h> |
| 2 | #include <stdio.h> | ||||
| 3 | |||||
| 4 | // Mark foo and bar weak so that Clang allows the run-time linker to decide which DSO's symbol to | ||||
| 5 | // use. | ||||
| 6 | |||||
| 7 | __attribute__((weak)) extern "C" void bar() { | ||||
| 8 | printf("bar lib2\n"); | ||||
| 9 | void (*next)(void) = reinterpret_cast<void (*)()>(dlsym(RTLD_NEXT, "bar")); | ||||
| 10 | if (next != nullptr) next(); | ||||
| Jiyong Park | 02586a2 | 2017-05-20 01:01:24 +0900 | [diff] [blame] | 11 | } |