args.who = RETURN_ADDRESS (0);
args.who = DL_CALLER;
__dlvsym (void *handle, const char *name, const char *version_str){  struct dlvsym_args args;  args.handle = handle;  args.name = name;  args.who = RETURN_ADDRESS (0);  args.version = version_str;  /* Protect against concurrent loads and unloads.  */  __rtld_lock_lock_recursive (GL(dl_load_lock));  void *result = (_dlerror_run (dlvsym_doit, &args) ? NULL : args.sym);  __rtld_lock_unlock_recursive (GL(dl_load_lock));  return result;}