php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #81238 PHP 8.1: fiber support missing for Solaris Sparc, configure fails
Submitted: 2021-07-09 08:44 UTC Modified: 2021-07-12 13:56 UTC
From: rainer dot jung at kippdata dot de Assigned: nikic (profile)
Status: Closed Package: *General Issues
PHP Version: 8.1.0alpha3 OS: Solaris 10 Sparc
Private report: No CVE-ID: None
 [2021-07-09 08:44 UTC] rainer dot jung at kippdata dot de
Description:
------------
configure for PHP 8.1 fails on Solaris 10 Sparc with:

checking for fiber switching context...
configure: error: Unable to determine platform!

It seems to imported assembler files from Boost context doe not contain support for Sparc Solaris 10.

The sparc architecture is listen under

https://www.boost.org/doc/libs/1_76_0/libs/context/doc/html/context/architectures.html

but the OS Solaris is not part of the table.

Since it supports ucontext_t, the comment below the table should apply: "If the architecture is not supported but the platform provides ucontext_t, Boost.Context should be compiled with BOOST_USE_UCONTEXT and b2 property context-impl=ucontext."

Solaris does support ucontext_t (see "man setcontext"), so it would be nice, if PHP fibers would support this fallbacl mechanism as well. Yes, there are warnings, that such fibers will be slow, but currently, due to the configure failure, there is no more Solaris 10 Sparc support for PHP 8.1 at all.

Another option would be to make fibers optional.




Patches

Add a Patch

Pull Requests

Pull requests:

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2021-07-10 04:37 UTC] trowski@php.net
The following pull request has been associated:

Patch Name: Fiber ucontext support
On GitHub:  https://github.com/php/php-src/pull/7226
Patch:      https://github.com/php/php-src/pull/7226.patch
 [2021-07-10 04:41 UTC] trowski@php.net
Can you please try compiling with the pull request linked as well as running all the tests? Thank you!
 [2021-07-12 08:14 UTC] rainer dot jung at kippdata dot de
I regenerated "configure". The patch works well for me. Solaris now builds and tests fine and Linux still builds and tests fine and uses the same assembler implementation it was using before.
Thanks a bunch for the good and ultra-fast patch!
Rainer
 [2021-07-12 13:56 UTC] nikic@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: nikic
 [2021-07-12 13:56 UTC] nikic@php.net
Thanks for the confirmation! The PR has landed in https://github.com/php/php-src/commit/8fd747a2a0e9f57c12bdad22a1844a736e7b4e57, so closing here.
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Sun Nov 28 09:03:14 2021 UTC