blob: d5bca2c362116af63d2115deba13f9e44e40890f [file] [log] [blame]
Ryan Prichard058eb8f2020-12-17 22:59:04 -08001#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 Park02586a22017-05-20 01:01:24 +090011}