diff options
author | Thomas Petazzoni <thomas.petazzoni@bootlin.com> | 2018-02-26 19:30:55 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2018-03-23 21:13:45 +0100 |
commit | 2842aa2a078eb1cad55540b61e7edf111395150d (patch) | |
tree | 13b7480b3814215e29c3213d742a8eee91006594 | |
parent | 17ed2f21cfcf25f3c992b359c672171159d3516c (diff) | |
download | php-git-2842aa2a078eb1cad55540b61e7edf111395150d.tar.gz |
main/php_ini.c: build empty php_load_zend_extension_cb() when !HAVE_LIBDL
Commit 0782a7fc6314c8bd3cbfd57f12d0479bf9cc8dc7 ("Fixed bug #74866
extension_dir = "./ext" now use current directory for base") modified
the php_load_zend_extension_cb() function to use php_load_shlib(), and
pass a handle to the newly introduced zend_load_extension_handle()
function instead of passing the extension path to
zend_load_extension().
While doing so, it introduced a call to php_load_shlib() from code
that is built even when HAVE_LIBDL is not defined. However,
php_load_shlib() is not implemented when HAVE_LIBDL is not defined,
for obvious reasons.
It turns out that zend_load_extension_handle() anyway doesn't do
anything when ZEND_EXTENSIONS_SUPPORT is defined to 0, and
ZEND_EXTENSIONS_SUPPORT is not defined when HAVE_LIBDL is not defined
(Zend/zend_portability.h).
Fixes the following build failure when building on a system that
doesn't have libdl:
main/php_ini.o: In function `php_load_zend_extension_cb':
php_ini.c:(.text+0x478): undefined reference to `php_load_shlib'
php_ini.c:(.text+0x4b0): undefined reference to `php_load_shlib'
collect2: error: ld returned 1 exit status
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
-rw-r--r-- | main/php_ini.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/main/php_ini.c b/main/php_ini.c index ba58eb1180..fca263e5f0 100644 --- a/main/php_ini.c +++ b/main/php_ini.c @@ -350,6 +350,7 @@ static void php_load_php_extension_cb(void *arg) /* {{{ php_load_zend_extension_cb */ +#ifdef HAVE_LIBDL static void php_load_zend_extension_cb(void *arg) { char *filename = *((char **) arg); @@ -409,6 +410,9 @@ static void php_load_zend_extension_cb(void *arg) efree(libpath); } } +#else +static void php_load_zend_extension_cb(void *arg) { } +#endif /* }}} */ /* {{{ php_init_config |