-#ifndef RTLD_NEXT
-# define RTLD_NEXT ((void *) -1l)
-#endif
-#ifndef RTLD_DEFAULT
-# define RTLD_DEFAULT ((void *) 0)
-#endif
- evar->sym = dlsym(scope->dlopened ?: RTLD_DEFAULT, evar->arg->var->name);
- if (!evar->sym) {
- data->error(data, evar->arg->var->token, PSI_WARNING,
- "Failed to locate symbol '%s': %s", evar->arg->var->name,
- dlerror() ?: "not found");
- return false;
- }
+ evar->sym = psi_dlsym(data->file.dlopened, evar->arg->var->name->val,
+ evar->redir ? evar->redir->val : NULL);
+ }
+ if (!evar->sym) {
+ data->error(data, evar->arg->var->token, PSI_WARNING,
+ "Failed to locate symbol '%s': %s", evar->arg->var->name->val,
+ dlerror() ?: "not found");
+ return false;