That patch is a very good idea, but it does not work there are symbols
that are no lomger exported on libxml extension , and although
everything compiles, I ended with a broken PHP.

Can you give a bit more details on what is broken? Does it mean there's a problem on Windows too, since Windows doesn't allow accessing un-exported symbols?

I'm aware of this problem. The problem is that each extension defines its own PHP_EXT_API (where EXT is the name of the extension). This means we need to change every such macro out there to make them aware of gcc 4.

My proposal to avoid future problems is to reuse the PHPAPI macro, as can be seen in that patch (I only changed the hash extension as an example):

--- ext/hash/php_hash.h 16 Jan 2006 23:04:23 -0000      1.13.2.7
+++ ext/hash/php_hash.h 9 Nov 2006 16:50:55 -0000
(...)
-#ifdef PHP_WIN32
-#define PHP_HASH_API __declspec(dllexport)
-#else
-#define PHP_HASH_API
-#endif
+#define PHP_HASH_API PHPAPI


When the patch goes in, I'll change all that stuff.

Nuno
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to