- data->error(PSI_WARNING, "Failed to locate symbol '%s': %s",
- func->var->name, dlerror());
+ size_t i;
+
+ for (i = 0; i < psi_predef_func_count(); ++i) {
+ psi_predef_func *pre = &psi_predef_funcs[i];
+
+ if (!strcmp(func->var->name, pre->name)) {
+ decl->dlptr = pre->func;
+ break;
+ }
+ }
+ if (!decl->dlptr) {
+ data->error(PSI_WARNING, "Failed to locate symbol '%s': %s",
+ func->var->name, dlerror());
+ }