Re: PHP 4.0 Bug #5734 Updated: Segfault when installed as DSO

From: Date: Wed, 26 Jul 2000 20:43:18 +0000
Subject: Re: PHP 4.0 Bug #5734 Updated: Segfault when installed as DSO
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-26385@lists.php.net to get a copy of this message
Applied. Didn't test on OpenBSD, but it didn't affect my Linux test and I see no issues changing the name of that symbol. -Rasmus On 26 Jul 2000, Bug Database wrote: > ID: 5734 > User Update by: anil@recoil.org > Old-Status: Analyzed > Status: Open > Bug Type: Installation problem > Description: Segfault when installed as DSO > > Rob Black <rob@ivision.co.uk> and I tracked down this bug. It comes from a little bit of > confusion in the definition of the sapi_module_struct. > > It is defined as an extern in main/SAPI.h, and a variable of the _same name_ is redefined as a > static in sapi/apache/mod_php4.c > > The linker then fails to relocate this due to the confusion at dynamic link time. Below is a > simple patch to rename the static variable in mod_php4.c to sapi_module_conf, which removes the > variable conflict. > > If this could be tested and committed soon it would enable the running of PHP4 as a DSO under > OpenBSD. > > Index: sapi/apache/mod_php4.c > =================================================================== > RCS file: /repository/php4/sapi/apache/mod_php4.c,v > retrieving revision 1.59 > diff -u -r1.59 mod_php4.c > --- sapi/apache/mod_php4.c 2000/07/10 09:20:35 1.59 > +++ sapi/apache/mod_php4.c 2000/07/26 20:29:09 > @@ -321,7 +321,7 @@ > } > > > -static sapi_module_struct sapi_module = { > +static sapi_module_struct sapi_module_conf = { > "apache", /* name */ > "Apache", /* pretty name */ > > @@ -576,8 +576,8 @@ > #ifdef ZTS > tsrm_startup(1, 1, 0); > #endif > - sapi_startup(&sapi_module); > - php_apache_startup(&sapi_module); > + sapi_startup(&sapi_module_conf); > + php_apache_startup(&sapi_module_conf); > } > per_dir_entry.type = mode; > > @@ -661,7 +661,7 @@ > static void apache_php_module_shutdown_wrapper(void) > { > apache_php_initialized = 0; > - sapi_module.shutdown(&sapi_module); > + sapi_module.shutdown(&sapi_module_conf); > > #if MODULE_MAGIC_NUMBER >= 19970728 > /* This function is only called on server exit if the apache API > @@ -679,7 +679,7 @@ > static void php_child_exit_handler(server_rec *s, pool *p) > { > /* apache_php_initialized = 0; */ > - sapi_module.shutdown(&sapi_module); > + sapi_module.shutdown(&sapi_module_conf); > > #ifdef ZTS > tsrm_shutdown(); > @@ -695,8 +695,8 @@ > #ifdef ZTS > tsrm_startup(1, 1, 0); > #endif > - sapi_startup(&sapi_module); > - php_apache_startup(&sapi_module); > + sapi_startup(&sapi_module_conf); > + php_apache_startup(&sapi_module_conf); > } > #if MODULE_MAGIC_NUMBER >= 19980527 > { > > Full Bug description available at: http://bugs.php.net/?id=5734 > > >

« previous php.dev (#26385) next »