X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Ftypes%2Fdecl.c;h=b4685f6de41efbdaec5c50129b845d33b86957c2;hb=6ebcb60416cad353f5aeacebe919cb6990ef5a7d;hp=9c1b0c558b0ece04f22dc72c690824b2f56e332e;hpb=9bcb1df0786a8193d65949c857baaba2f4296e84;p=m6w6%2Fext-psi diff --git a/src/types/decl.c b/src/types/decl.c index 9c1b0c5..b4685f6 100644 --- a/src/types/decl.c +++ b/src/types/decl.c @@ -25,19 +25,12 @@ #include "php_psi_stdinc.h" -#if __GNUC__ >= 5 -# pragma GCC diagnostic ignored "-Wdiscarded-qualifiers" -#endif -#include "php_psi_macros.h" -#include "php_psi_redirs.h" -#if __GNUC__ >= 5 -# pragma GCC diagnostic pop -#endif - #include - #include "data.h" +#define PSI_FUNC_REDIRS +#include "php_psi_posix.h" + struct psi_decl *psi_decl_init(struct psi_decl_abi *abi, struct psi_decl_arg *func, struct psi_plist *args) { @@ -107,7 +100,10 @@ static inline bool psi_decl_validate_func(struct psi_data *data, #ifndef RTLD_NEXT # define RTLD_NEXT ((void *) -1l) #endif - decl->sym = dlsym(dl ?: RTLD_NEXT, func->var->name); +#ifndef RTLD_DEFAULT +# define RTLD_DEFAULT ((void *) 0) +#endif + decl->sym = dlsym(dl ?: RTLD_DEFAULT, func->var->name); if (!decl->sym) { data->error(data, func->token, PSI_WARNING, "Failed to locate symbol '%s': %s", func->var->name,