use hidden visibility for call from dlsym to internal __dlsym
RTLD_NEXT support the asm wrapper is needed to get the return address without compiler-specific extensions.