close #1: do not check for constants value
[m6w6/ext-psi] / src / types / decl.c
index 9c1b0c558b0ece04f22dc72c690824b2f56e332e..b4685f6de41efbdaec5c50129b845d33b86957c2 100644 (file)
 
 #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 <dlfcn.h>
-
 #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,