Skip to content

Verify BLAKE3 bundled files using CI#1

Merged
mvorisek merged 1 commit intodivinity76:hash-blake3from
mvorisek:blake3_upstream_verified
Mar 15, 2026
Merged

Verify BLAKE3 bundled files using CI#1
mvorisek merged 1 commit intodivinity76:hash-blake3from
mvorisek:blake3_upstream_verified

Conversation

@mvorisek
Copy link
Collaborator

@mvorisek mvorisek commented Mar 14, 2026

into php#13194

@divinity76
Copy link
Owner

@mvorisek oh dang, you're interested in getting BLAKE3 into php-src?

Cool! Good luck! I have tried multiple times but hit walls each time, and ran out of steam and gave up

Hmm your PR here have merge conflicts, I'll take a look!

@mvorisek mvorisek marked this pull request as draft March 14, 2026 23:30
@mvorisek
Copy link
Collaborator Author

Hi, very interested! 🤩

Month ago I brought php#19802 to life, I hit wall almost with that PR too, but some php-src members were very interested and supportive on the other side, so it is merged and I hope it will help bundling larger upstream sources.

This PR - please merge master into (or preferably rebase with clear history) php#13194 and I will rebase this PR onto it and undraft it. With joined forces, I hope there is a chance!

divinity76 pushed a commit that referenced this pull request Mar 14, 2026
On AIX, NSIG is def'd as SIGMAX64+1, and SIGMAX64 itself is def'd as
255:

```
$ grep -Rw SIGMAX64 /QOpenSys/usr/include/
/QOpenSys/usr/include/sys/signal.h:#define SIGMAX64 255
/QOpenSys/usr/include/sys/signal.h:#define SIGMAX SIGMAX64
/QOpenSys/usr/include/sys/signal.h:#define NSIG64               (SIGMAX64+1)
```

...this causes an overflow when we set num_signals from the value of
NSIG, per GCC:

```
/rpmbuild/BUILD/php-8.5.3/ext/pcntl/pcntl.c:216:25: warning: large integer implicitly truncated to unsigned type [-Woverflow]
  PCNTL_G(num_signals) = NSIG;
                         ^~~~
```

...when we try to use pcntl to i.e. install a signal handler, we get an
error from pcntl:

```
Fatal error: Uncaught ValueError: pcntl_signal(): Argument #1 ($signal) must be less than 0 in phar:///QOpenSys/pkgs/bin/composer/vendor/seld/signal-handler/src/SignalHandler.php:491
```

The easiest way to deal with this silly AIX behaviour is to just promote
the storage size.
@divinity76
Copy link
Owner

@mvorisek for the php#13194
i have now:

Let me know if there's anything I can do to help

@mvorisek mvorisek force-pushed the blake3_upstream_verified branch from 879bda3 to 83bba5c Compare March 15, 2026 00:52
@divinity76
Copy link
Owner

PS, this PR is currently trying to pull in (downgrade) to an older version the blake3 upstream sources

You seem to be currently working on it 👍 just letting you know.

@mvorisek mvorisek force-pushed the blake3_upstream_verified branch from 83bba5c to e1020f8 Compare March 15, 2026 21:19
@mvorisek mvorisek marked this pull request as ready for review March 15, 2026 21:26
@mvorisek mvorisek merged commit 03ac67e into divinity76:hash-blake3 Mar 15, 2026
19 checks passed
@mvorisek mvorisek deleted the blake3_upstream_verified branch March 15, 2026 21:26
@mvorisek
Copy link
Collaborator Author

Thank you for your comments.

I have squashed the PR history and rebased it onto php-src master. It seems you have already figured the hard challenges 👍 and the PR is green again.

So the next thing is to finalize the RFC and bring the blake3 topic to the mailing list. Did you brought the topic to the mailing already in the past?

@divinity76
Copy link
Owner

divinity76 commented Mar 16, 2026

I have squashed the PR history and rebased it onto php-src master.

Excellent

So the next thing is to finalize the RFC and bring the blake3 topic to the mailing list. Did you brought the topic to the mailing already in the past?

Yes, but better to pretend that I didn't, better to start a new thread. (I don't have a link to the previous one)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants