1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- From b7bbdfbcb0869b5c068143d4e27bab9eac4ae72b Mon Sep 17 00:00:00 2001
- From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
- Date: Mon, 26 Feb 2018 19:30:55 +0100
- Subject: [PATCH] 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>
- Upstream-status: https://github.com/php/php-src/pull/3161
- ---
- main/php_ini.c | 4 ++++
- 1 file changed, 4 insertions(+)
- 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
- --
- 2.14.3
|