Search
j0ke.net Open Build Service
>
Projects
>
home:netmax
:
rebuilds
>
php4
> php-4.3.1-dlopen.patch
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File php-4.3.1-dlopen.patch of Package php4
1. Don't open extension modules with RTLD_LAZY: better to fail obviously at load-time rather than obscurely at run-time if they have undefined symbols. 2. Do open extension modules with RTLD_DEEPBIND, to try and avoid symbol conflicts between independent modules and their dependencies. Adapted for >= PHP 4.3.5-rc4 by Robert Scheck --- php-4.3.8/Zend/zend.h.dlopen +++ php-4.3.8/Zend/zend.h @@ -89,10 +89,14 @@ # define RTLD_GLOBAL 0 # endif +# ifndef RTLD_DEEPBIND +# define RTLD_DEEPBIND 0 +# endif + # if defined(RTLD_GROUP) && defined(RTLD_WORLD) && defined(RTLD_PARENT) -# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT) +# define DL_LOAD(libname) dlopen(libname, RTLD_NOW | RTLD_GLOBAL | RTLD_GROUP | RTLD_WORLD | RTLD_PARENT) # else -# define DL_LOAD(libname) dlopen(libname, RTLD_LAZY | RTLD_GLOBAL) +# define DL_LOAD(libname) dlopen(libname, RTLD_NOW | RTLD_GLOBAL | RTLD_DEEPBIND) # endif # define DL_UNLOAD dlclose # if DLSYM_NEEDS_UNDERSCORE