]> granicus.if.org Git - php/commitdiff
Fix bug #48575 - Use dlopen() just like all the other *nixes instead of OSX specific...
authorScott MacVicar <scottmac@php.net>
Thu, 6 Aug 2009 01:33:54 +0000 (01:33 +0000)
committerScott MacVicar <scottmac@php.net>
Thu, 6 Aug 2009 01:33:54 +0000 (01:33 +0000)
Zend/Zend.m4
Zend/zend.h
Zend/zend_API.c
Zend/zend_extensions.c
configure.in
ext/standard/dl.c

index 88ddcbf3f076cc4d7630feea211a7e62c0a35976..3c1b1109b929f0cabf39a7fbffe0ca9dc6630b16 100644 (file)
@@ -62,18 +62,6 @@ unix.h \
 stdlib.h \
 dlfcn.h)
 
-dnl Don't use mach-o/dyld.h on Darwin 8+, dl* is recommended by Apple from there on
-dnl See http://developer.apple.com/documentation/DeveloperTools/Conceptual/MachOTopics/Articles/loading_code.html
-case $host_alias in
-*darwin[[89]]*)
-    ;;
-*)
-    AC_CHECK_HEADERS([  \
-mach-o/dyld.h
-],[],[][])
-    ;;
-esac
-
 AC_TYPE_SIZE_T
 AC_TYPE_SIGNAL
 
index 5e20ea0c08b630571e4a1f54c7383932b73ead4d..f6fd95de83a1e14d1ddce11d8531586950dba7dc 100644 (file)
 # include <dlfcn.h>
 #endif
 
-#if HAVE_MACH_O_DYLD_H
-#include <mach-o/dyld.h>
-
-/* MH_BUNDLE loading functions for Mac OS X / Darwin */
-void *zend_mh_bundle_load (char* bundle_path);
-int zend_mh_bundle_unload (void *bundle_handle);
-void *zend_mh_bundle_symbol(void *bundle_handle, const char *symbol_name);
-const char *zend_mh_bundle_error(void);
-
-#endif /* HAVE_MACH_O_DYLD_H */
-
-#if defined(HAVE_LIBDL) && !defined(HAVE_MACH_O_DYLD_H) && !defined(ZEND_WIN32)
+#if defined(HAVE_LIBDL) && !defined(ZEND_WIN32)
 
 # ifndef RTLD_LAZY
 #  define RTLD_LAZY 1    /* Solaris 1, FreeBSD's (2.1.7.1 and older) */
@@ -117,13 +106,6 @@ const char *zend_mh_bundle_error(void);
 # define DL_ERROR                                      dlerror
 # define DL_HANDLE                                     void *
 # define ZEND_EXTENSIONS_SUPPORT       1
-#elif defined(HAVE_MACH_O_DYLD_H)
-# define DL_LOAD(libname)                      zend_mh_bundle_load(libname)
-# define DL_UNLOAD                     zend_mh_bundle_unload
-# define DL_FETCH_SYMBOL(h,s)          zend_mh_bundle_symbol(h,s)
-# define DL_ERROR                                      zend_mh_bundle_error
-# define DL_HANDLE                                     void *
-# define ZEND_EXTENSIONS_SUPPORT       1
 #elif defined(ZEND_WIN32)
 # define DL_LOAD(libname)                      LoadLibrary(libname)
 # define DL_FETCH_SYMBOL                       GetProcAddress
index c147601b1d37251c15b9550ead498cec57474ff6..f19ec1b24ef659bedd01de303e499153f71b9f02 100644 (file)
@@ -2456,7 +2456,7 @@ void module_destructor(zend_module_entry *module) /* {{{ */
                zend_unregister_functions(module->functions, -1, NULL TSRMLS_CC);
        }
 
-#if HAVE_LIBDL || defined(HAVE_MACH_O_DYLD_H)
+#if HAVE_LIBDL
 #if !(defined(NETWARE) && defined(APACHE_1_BUILD))
        if (module->handle) {
                DL_UNLOAD(module->handle);
index fff78d6734f317721e5e1015dec627fb81ca325d..e9be39a14d9f1f7d8b88a357b6bb2150fdea53e7 100644 (file)
@@ -219,71 +219,6 @@ ZEND_API zend_extension *zend_get_extension(const char *extension_name) /* {{{ *
 }
 /* }}} */
 
-/*
- * Support for dynamic loading of MH_BUNDLEs on Darwin / Mac OS X
- *
- */
-
-#if HAVE_MACH_O_DYLD_H
-
-void *zend_mh_bundle_load(char* bundle_path) /* {{{ */
-{
-       NSObjectFileImage bundle_image;
-       NSModule bundle_handle;
-       NSSymbol bundle_init_nssymbol;
-       void (*bundle_init)(void);
-
-       if (NSCreateObjectFileImageFromFile(bundle_path, &bundle_image) != NSObjectFileImageSuccess) {
-               return NULL;
-       }
-
-       bundle_handle = NSLinkModule(bundle_image, bundle_path, NSLINKMODULE_OPTION_NONE);
-       NSDestroyObjectFileImage(bundle_image);
-
-       /* call the init function of the bundle */
-       bundle_init_nssymbol = NSLookupSymbolInModule(bundle_handle, "__init");
-       if (bundle_init_nssymbol != NULL) {
-               bundle_init = NSAddressOfSymbol(bundle_init_nssymbol);
-               bundle_init();
-       }
-
-       return bundle_handle;
-}
-/* }}} */
-
-int zend_mh_bundle_unload(void *bundle_handle) /* {{{ */
-{
-       NSSymbol bundle_fini_nssymbol;
-       void (*bundle_fini)(void);
-
-       /* call the fini function of the bundle */
-       bundle_fini_nssymbol = NSLookupSymbolInModule(bundle_handle, "__fini");
-       if (bundle_fini_nssymbol != NULL) {
-               bundle_fini = NSAddressOfSymbol(bundle_fini_nssymbol);
-               bundle_fini();
-       }
-
-       return (int) NSUnLinkModule(bundle_handle, NULL);
-}
-/* }}} */
-
-void *zend_mh_bundle_symbol(void *bundle_handle, const char *symbol_name) /* {{{ */
-{
-       NSSymbol symbol;
-       symbol = NSLookupSymbolInModule(bundle_handle, symbol_name);
-       return NSAddressOfSymbol(symbol);
-}
-/* }}} */
-
-const char *zend_mh_bundle_error(void) /* {{{ */
-{
-       /* Witness the state of the art error reporting */
-       return NULL;
-}
-/* }}} */
-
-#endif /* HAVE_MACH_O_DYLD_H */
-
 /*
  * Local variables:
  * tab-width: 4
index e9d45d1fcfe61843a4d75f9bbdef11424a6f1294..3099c525c3039a9350f36b7f03d4ce8a041ccf58 100644 (file)
@@ -485,16 +485,6 @@ assert.h
 #endif
 ])
 
-dnl Don't use mach-o/dyld.h on Darwin 8+, dl* is recommended by Apple from there on
-dnl See http://developer.apple.com/documentation/DeveloperTools/Conceptual/MachOTopics/Articles/loading_code.html
-case $host_alias in
-  *darwin[[89]]*)
-    ;;
-  *)
-    AC_CHECK_HEADERS([mach-o/dyld.h],[],[],[])
-    ;;
-esac
-
 PHP_FOPENCOOKIE
 PHP_BROKEN_GETCWD
 PHP_BROKEN_GLIBC_FOPEN_APPEND
index 95da5295336d8e79d734804f5be6e9ba225620b7..f1a2462c4b3bc35acb05bfb785f4e49b0983946c 100644 (file)
@@ -29,7 +29,7 @@
 
 #include "SAPI.h"
 
-#if defined(HAVE_LIBDL) || HAVE_MACH_O_DYLD_H
+#if defined(HAVE_LIBDL)
 #include <stdlib.h>
 #include <stdio.h>
 #ifdef HAVE_STRING_H
@@ -48,7 +48,7 @@
 #include <sys/param.h>
 #define GET_DL_ERROR() DL_ERROR()
 #endif
-#endif /* defined(HAVE_LIBDL) || HAVE_MACH_O_DYLD_H */
+#endif /* defined(HAVE_LIBDL) */
 
 /* {{{ proto int dl(string extension_filename) U
    Load a PHP extension at runtime */
@@ -85,7 +85,7 @@ PHPAPI PHP_FUNCTION(dl)
 }
 /* }}} */
 
-#if defined(HAVE_LIBDL) || HAVE_MACH_O_DYLD_H
+#if defined(HAVE_LIBDL)
 
 #ifdef ZTS
 #define USING_ZTS 1