|
159 | 159 | # define PHP_RTLD_MODE RTLD_LAZY
|
160 | 160 | # endif
|
161 | 161 |
|
162 |
| -# ifdef __SANITIZE_ADDRESS__ |
163 |
| -# include "sanitizer/lsan_interface.h" |
164 |
| -# endif |
165 |
| - |
166 |
| -/* dl uses a thread local variable internally. Due to LSan crashing we're setting use_tls=0, which |
167 |
| - * will report a leak inside dlopen() that we need to suppress. */ |
168 |
| -static inline void *zend_dlopen(const char *file, int mode) |
169 |
| -{ |
170 |
| -# ifdef __SANITIZE_ADDRESS__ |
171 |
| - __lsan_disable(); |
172 |
| -# endif |
173 |
| - void *ptr = dlopen(file, mode); |
174 |
| -# ifdef __SANITIZE_ADDRESS__ |
175 |
| - __lsan_enable(); |
176 |
| -# endif |
177 |
| - return ptr; |
178 |
| -} |
179 | 162 | # if defined(RTLD_GROUP) && defined(RTLD_WORLD) && defined(RTLD_PARENT)
|
180 |
| -# define DL_LOAD(libname) zend_dlopen(libname, PHP_RTLD_MODE | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT) |
| 163 | +# define DL_LOAD(libname) dlopen(libname, PHP_RTLD_MODE | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT) |
181 | 164 | # elif defined(RTLD_DEEPBIND) && !defined(__SANITIZE_ADDRESS__) && !__has_feature(memory_sanitizer)
|
182 |
| -# define DL_LOAD(libname) zend_dlopen(libname, PHP_RTLD_MODE | RTLD_GLOBAL | RTLD_DEEPBIND) |
| 165 | +# define DL_LOAD(libname) dlopen(libname, PHP_RTLD_MODE | RTLD_GLOBAL | RTLD_DEEPBIND) |
183 | 166 | # else
|
184 |
| -# define DL_LOAD(libname) zend_dlopen(libname, PHP_RTLD_MODE | RTLD_GLOBAL) |
| 167 | +# define DL_LOAD(libname) dlopen(libname, PHP_RTLD_MODE | RTLD_GLOBAL) |
185 | 168 | # endif
|
186 |
| - |
187 |
| -static inline void *zend_dlsym(void *__restrict handle, const char *__restrict name) |
188 |
| -{ |
189 |
| -# ifdef __SANITIZE_ADDRESS__ |
190 |
| - __lsan_disable(); |
191 |
| -# endif |
192 |
| - void *ptr = dlsym(handle, name); |
193 |
| -# ifdef __SANITIZE_ADDRESS__ |
194 |
| - __lsan_enable(); |
195 |
| -# endif |
196 |
| - return ptr; |
197 |
| -} |
198 | 169 | # define DL_UNLOAD dlclose
|
199 | 170 | # if defined(DLSYM_NEEDS_UNDERSCORE)
|
200 |
| -# define DL_FETCH_SYMBOL(h,s) zend_dlsym((h), "_" s) |
| 171 | +# define DL_FETCH_SYMBOL(h,s) dlsym((h), "_" s) |
201 | 172 | # else
|
202 |
| -# define DL_FETCH_SYMBOL zend_dlsym |
| 173 | +# define DL_FETCH_SYMBOL dlsym |
203 | 174 | # endif
|
204 | 175 | # define DL_ERROR dlerror
|
205 | 176 | # define DL_HANDLE void *
|
|
0 commit comments