mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
Fixed bug #81634 (ZEND_ENABLE_STATIC_TSRMLS_CACHE produces extensionswith the STATIC_TLS flag)
This commit is contained in:
parent
a2c0ffb54e
commit
72f8dbb312
@ -167,8 +167,10 @@ TSRM_API const char *tsrm_api_name(void);
|
|||||||
#define TSRMG_BULK_STATIC(id, type) ((type) (*((void ***) TSRMLS_CACHE))[TSRM_UNSHUFFLE_RSRC_ID(id)])
|
#define TSRMG_BULK_STATIC(id, type) ((type) (*((void ***) TSRMLS_CACHE))[TSRM_UNSHUFFLE_RSRC_ID(id)])
|
||||||
#define TSRMG_FAST_STATIC(offset, type, element) (TSRMG_FAST_BULK_STATIC(offset, type)->element)
|
#define TSRMG_FAST_STATIC(offset, type, element) (TSRMG_FAST_BULK_STATIC(offset, type)->element)
|
||||||
#define TSRMG_FAST_BULK_STATIC(offset, type) ((type) (((char*) TSRMLS_CACHE)+(offset)))
|
#define TSRMG_FAST_BULK_STATIC(offset, type) ((type) (((char*) TSRMLS_CACHE)+(offset)))
|
||||||
#define TSRMLS_CACHE_EXTERN() extern TSRM_TLS void *TSRMLS_CACHE TSRM_TLS_MODEL_ATTR;
|
#define TSRMLS_MAIN_CACHE_EXTERN() extern TSRM_TLS void *TSRMLS_CACHE TSRM_TLS_MODEL_ATTR;
|
||||||
#define TSRMLS_CACHE_DEFINE() TSRM_TLS void *TSRMLS_CACHE TSRM_TLS_MODEL_ATTR = NULL;
|
#define TSRMLS_MAIN_CACHE_DEFINE() TSRM_TLS void *TSRMLS_CACHE TSRM_TLS_MODEL_ATTR = NULL;
|
||||||
|
#define TSRMLS_CACHE_EXTERN() extern TSRM_TLS void *TSRMLS_CACHE;
|
||||||
|
#define TSRMLS_CACHE_DEFINE() TSRM_TLS void *TSRMLS_CACHE = NULL;
|
||||||
#define TSRMLS_CACHE_UPDATE() TSRMLS_CACHE = tsrm_get_ls_cache()
|
#define TSRMLS_CACHE_UPDATE() TSRMLS_CACHE = tsrm_get_ls_cache()
|
||||||
#define TSRMLS_CACHE _tsrm_ls_cache
|
#define TSRMLS_CACHE _tsrm_ls_cache
|
||||||
|
|
||||||
@ -182,6 +184,8 @@ TSRM_API const char *tsrm_api_name(void);
|
|||||||
#define tsrm_env_unlock()
|
#define tsrm_env_unlock()
|
||||||
|
|
||||||
#define TSRMG_STATIC(id, type, element)
|
#define TSRMG_STATIC(id, type, element)
|
||||||
|
#define TSRMLS_MAIN_CACHE_EXTERN()
|
||||||
|
#define TSRMLS_MAIN_CACHE_DEFINE()
|
||||||
#define TSRMLS_CACHE_EXTERN()
|
#define TSRMLS_CACHE_EXTERN()
|
||||||
#define TSRMLS_CACHE_DEFINE()
|
#define TSRMLS_CACHE_DEFINE()
|
||||||
#define TSRMLS_CACHE_UPDATE()
|
#define TSRMLS_CACHE_UPDATE()
|
||||||
|
@ -50,7 +50,7 @@ static HashTable *global_class_table = NULL;
|
|||||||
static HashTable *global_constants_table = NULL;
|
static HashTable *global_constants_table = NULL;
|
||||||
static HashTable *global_auto_globals_table = NULL;
|
static HashTable *global_auto_globals_table = NULL;
|
||||||
static HashTable *global_persistent_list = NULL;
|
static HashTable *global_persistent_list = NULL;
|
||||||
ZEND_TSRMLS_CACHE_DEFINE()
|
TSRMLS_MAIN_CACHE_DEFINE()
|
||||||
# define GLOBAL_FUNCTION_TABLE global_function_table
|
# define GLOBAL_FUNCTION_TABLE global_function_table
|
||||||
# define GLOBAL_CLASS_TABLE global_class_table
|
# define GLOBAL_CLASS_TABLE global_class_table
|
||||||
# define GLOBAL_CONSTANTS_TABLE global_constants_table
|
# define GLOBAL_CONSTANTS_TABLE global_constants_table
|
||||||
|
@ -69,7 +69,11 @@
|
|||||||
#define ZEND_TSRMLS_CACHE
|
#define ZEND_TSRMLS_CACHE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef ZEND_COMPILE_DL_EXT
|
||||||
|
TSRMLS_MAIN_CACHE_EXTERN()
|
||||||
|
#else
|
||||||
ZEND_TSRMLS_CACHE_EXTERN()
|
ZEND_TSRMLS_CACHE_EXTERN()
|
||||||
|
#endif
|
||||||
|
|
||||||
struct _zend_serialize_data;
|
struct _zend_serialize_data;
|
||||||
struct _zend_unserialize_data;
|
struct _zend_unserialize_data;
|
||||||
|
@ -935,7 +935,7 @@ dnl ---------------------------------------------- Static module
|
|||||||
if test "$3" = "shared" || test "$3" = "yes"; then
|
if test "$3" = "shared" || test "$3" = "yes"; then
|
||||||
dnl ---------------------------------------------- Shared module
|
dnl ---------------------------------------------- Shared module
|
||||||
[PHP_]translit($1,a-z_-,A-Z__)[_SHARED]=yes
|
[PHP_]translit($1,a-z_-,A-Z__)[_SHARED]=yes
|
||||||
PHP_ADD_SOURCES_X($ext_dir,$2,$ac_extra,shared_objects_$1,yes)
|
PHP_ADD_SOURCES_X($ext_dir,$2,$ac_extra -DZEND_COMPILE_DL_EXT=1,shared_objects_$1,yes)
|
||||||
PHP_SHARED_MODULE($1,shared_objects_$1, $ext_builddir, $6, $7)
|
PHP_SHARED_MODULE($1,shared_objects_$1, $ext_builddir, $6, $7)
|
||||||
AC_DEFINE_UNQUOTED([COMPILE_DL_]translit($1,a-z_-,A-Z__), 1, Whether to build $1 as dynamic module)
|
AC_DEFINE_UNQUOTED([COMPILE_DL_]translit($1,a-z_-,A-Z__), 1, Whether to build $1 as dynamic module)
|
||||||
fi
|
fi
|
||||||
|
@ -1432,7 +1432,7 @@ function EXTENSION(extname, file_list, shared, cflags, dllname, obj_dir)
|
|||||||
|
|
||||||
if (shared) {
|
if (shared) {
|
||||||
STDOUT.WriteLine("Enabling extension " + extname_for_printing + " [shared]");
|
STDOUT.WriteLine("Enabling extension " + extname_for_printing + " [shared]");
|
||||||
cflags = "/D COMPILE_DL_" + EXT + " /D " + EXT + "_EXPORTS=1 " + cflags;
|
cflags = "/D ZEND_COMPILE_DL_EXT=1 /D COMPILE_DL_" + EXT + " /D " + EXT + "_EXPORTS=1 " + cflags;
|
||||||
ADD_FLAG("CFLAGS_PHP", "/D COMPILE_DL_" + EXT);
|
ADD_FLAG("CFLAGS_PHP", "/D COMPILE_DL_" + EXT);
|
||||||
} else {
|
} else {
|
||||||
STDOUT.WriteLine("Enabling extension " + extname_for_printing);
|
STDOUT.WriteLine("Enabling extension " + extname_for_printing);
|
||||||
|
Loading…
Reference in New Issue
Block a user