int main() { __res_maybe_init(); // now expects GLIBC_PRIVATE version return 0; }
Compile and link (the error appears at link time or runtime depending on -z lazy ): undefined symbol --res-maybe-init version glibc-private
gcc -c provoke_glibc_private_undef.c gcc -o test provoke_glibc_private_undef.o If linking succeeds (due to weak alias tricks), force by making LD_BIND_NOW=1 ./test . int main() { __res_maybe_init()