Our PHP 5.x package is getting old

Dagobert Michelsen dam at opencsw.org
Wed Apr 2 15:17:19 CEST 2014


Hi James,

Am 31.03.2014 um 11:41 schrieb James Lee <james at opencsw.org>:
> On 27/03/2014 08:59, Dagobert Michelsen wrote:
>> 
>>> dam at unstable10s [unstable10s]:/home/dam/mgar/pkg/php5/branches/php-5.5.x/work/solaris10-sparc/build-isa-sparcv8plus-sapi-cgi/php-5.5.10 > pstack core
>>> core 'core' of 16636:   /home/dam/mgar/pkg/php5/branches/php-5.5.x/work/solaris10-sparc/build-
>>>  000a6500 compare_opcodes (c1d7ad, 0, ffbfe5b8, ffbfd3d8, c1d789, c1d7ad) + 1178
>>>  000a6944 auto_possessify (c1d767, 0, ffbfe5b8, 64, ffbfd3d8, 661eb4) + 284
>>>  000b0114 php_pcre_compile2 (b9, 0, 20000, 0, c1d6c0, 96372c) + d90
>>>  000d4138 pcre_get_compiled_regex_cache (a5e4ac, 2f, 2f, 2f, 0, 961064) + 444
>>>  000d4680 php_do_pcre_match (3, dde418, ffbfe770, 961064, ffbfe774, 0) + 7c
>>>  005acaa0 zend_do_fcall_common_helper_SPEC (9ee560, 100, 100, 961064, d646cc, 9e4798) + 320
>>>  005ac448 execute_ex (9ee560, 9e45f0, 1, 961064, 8358c, 0) + 3c
>>>  00533ce4 zend_execute_scripts (8, 0, ffbff3c8, 1, 9e4714, ffbfe8ac) + 678
>>>  0043eb94 php_execute_script (9e4f30, ffbff3c8, 9e4f30, 961064, 1, 83c00) + 32c
>>>  005ff608 do_cli   (961064, 8, 0, 83c00, 961064, 83c00) + d3c
>>>  00600684 main     (10, ffbff674, ffbff6b8, 963000, 96be44, 96be44) + 660
>>>  0004d9c0 _start   (0, 0, 0, 0, 0, 0) + 108
>> Everything is committed, if you have a great idea let me know.
> 
> PHP build adds -xmemalign=8s to the compile options.  The 's' says throws a bus error if a memory misalignment is detected. The 'i' xmemalign option say to me it will work but might be slower.
> 
> The misalignment is in compare_opcodes which is part of prce 8.34 and the misalignment is right after the comment "Compare 4 bytes to improve speed".  What it's doing is:
> 
> function(char *cp)
> {
>    int *ip;
>    ip = (int *) cp;
>    ... *ip ...;  // handle in 4 byte chucks
> 
> which is not 8 byte aligned when "cp % 8 !=  0". On the Sparc and Intel chips I've tested it doesn't seem to make a difference but it must depends on the chip design and perhaps there are some where the speed difference is greater.
> 
> Workaround: remove or change to 'i' xmemalign from PHP's configure:
>  sparc*)
>    if test "$SUNCC" = "yes"; then
>      CFLAGS="$CFLAGS -xmemalign=8s"
>    fi
> 
> 
> Fix:
> http://bugs.exim.org/show_bug.cgi?id=1427

Thanks a lot for the detailed analysis! The install now passes after patching configure,
I can proceed now to the packaging issues.


Best regards

  — Dago


-- 
"You don't become great by trying to be great, you become great by wanting to do something,
and then doing it so hard that you become great in the process." - xkcd #896

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2418 bytes
Desc: not available
URL: <http://lists.opencsw.org/pipermail/maintainers/attachments/20140402/25f6332a/attachment.p7s>


More information about the maintainers mailing list