Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:71038 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 65711 invoked from network); 7 Jan 2014 13:38:59 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 7 Jan 2014 13:38:59 -0000 Authentication-Results: pb1.pair.com header.from=ab@php.net; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=ab@php.net; spf=unknown; sender-id=unknown Received-SPF: unknown (pb1.pair.com: domain php.net does not designate 85.214.73.107 as permitted sender) X-PHP-List-Original-Sender: ab@php.net X-Host-Fingerprint: 85.214.73.107 klapt.com Received: from [85.214.73.107] ([85.214.73.107:36456] helo=klapt.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C1/84-40447-F630CC25 for ; Tue, 07 Jan 2014 08:38:58 -0500 Received: by klapt.com (Postfix, from userid 33) id D3DF623D6080; Tue, 7 Jan 2014 14:38:52 +0100 (CET) Received: from 188.110.49.186 (SquirrelMail authenticated user anatol@belski.net) by webmail.klapt.com with HTTP; Tue, 7 Jan 2014 14:38:52 +0100 Message-ID: <7a798ad86eaa2eff94345473a9713bf5.squirrel@webmail.klapt.com> In-Reply-To: References: <2d2b8833cdd18298c7ecf19bac3ef3ea.squirrel@webmail.klapt.com> Date: Tue, 7 Jan 2014 14:38:52 +0100 To: "Derick Rethans" Cc: "PHP Developers Mailing List" Reply-To: "Anatol Belski" User-Agent: SquirrelMail/1.5.2 [SVN] MIME-Version: 1.0 Content-Type: text/plain;charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] 64 bit platform improvements From: ab@php.net ("Anatol Belski") 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