Re: 64 bit platform improvements
Hi Derick,
On Tue, January 7, 2014 13:59, Derick Rethans wrote:
> On Fri, 20 Dec 2013, Anatol Belski wrote:
>
>
>> Hi,
>>
>>
>> I'm writing in the first place to give an update on the patch status.
>> Just
>> to remind - it's a matter of implementing size_t for string sizes and
>> getting rid of 'long' in favour of platform dependent 64 bit integer.
>> The
>> patch is now close to finish the first big porting step. ZE and other
>> very core parts are revamped in multiple circles and do now work well in
>> the patch. Also the most important and wide used core extensions and
>> SAPIs are
>> ported. The progress page is reachable under
>> https://wiki.php.net/rfc/string-size_t/progress
>> , the RFC draft is
>> linked from there. The work is of course still in progress.
>
> Is there a porting guide for extension maintainers? Especially also
> extensions that need to be maintained with older PHP versions (ie, the ones
> in PECL)?
>
till now the accent was to give the core a leg-up. The guide is for sure
on the TODO, but not only - I plan to invent a tool to ease the porting
process and probably a compat header.
For now the simplest way to try out is using the RFC draft. There are
tables with new vs. old types/macros to replace, like IS_LONG vs. IS_INT,
Z_STRLEN vs. Z_STRSIZE, etc. Some of those are just semantic sugar, the
others cannot be automated (like long vs. php_int_t, int vs php_size_t for
string sizes ...) . From the experience many extensions will need some
minimal replacements to be ported, especially those without library
dependencies.
The only thing I lack on an idea right now is zend_parse_parameters
formats migration, I think it'll need some special way or tool to be
handled.
Cheers
Anatol
Thread (11 messages)