Repository navigation
Closed
Description
Description
The following code:
make prof-gen
…
make prof-clean
make prof-useResulted in this output:
/bin/sh /tmp/php-8.3.8/libtool --silent --preserve-dup-deps --tag=CC --mode=compile cc -Iext/hash/ -I/tmp/php-8.3.8/ext/hash/ -I/tmp/ph
p-8.3.8/include -I/tmp/php-8.3.8/main -I/tmp/php-8.3.8 -I/tmp/php-8.3.8/ext/date/lib -I/usr/include/libxml2 -I/usr/include/libpng16 -I/
tmp/php-8.3.8/ext/mbstring/libmbfl -I/tmp/php-8.3.8/ext/mbstring/libmbfl/mbfl -I/tmp/php-8.3.8/TSRM -I/tmp/php-8.3.8/Zend -D_GNU_SOURC
E -fno-common -Wstrict-prototypes -Wformat-truncation -Wlogical-op -Wduplicated-cond -Wno-clobbered -Wall -Wextra -Wno-unused-paramete
r -Wno-sign-compare -O2 -march=native -ffp-contract=off -fvisibility=hidden -Wimplicit-fallthrough=1 -DZEND_SIGNALS -fprofile-use -Wno
-implicit-fallthrough -I/tmp/php-8.3.8/ext/hash/sha3/generic64lc -DKeccakP200_excluded -DKeccakP400_excluded -DKeccakP800_excluded -DZE
ND_ENABLE_STATIC_TSRMLS_CACHE=1 -I/tmp/php-8.3.8/ext/hash/xxhash -c /tmp/php-8.3.8/ext/hash/hash_xxhash.c -o ext/hash/hash_xxhash.lo -
MMD -MF ext/hash/hash_xxhash.dep -MT ext/hash/hash_xxhash.lo
/tmp/php-8.3.8/ext/hash/hash_xxhash.c: In function ‘PHP_XXH3_128_Copy’:
/tmp/php-8.3.8/ext/hash/hash_xxhash.c:267:1: warning: ‘/tmp/php-8.3.8/ext/hash/.libs/hash_xxhash.gcda’ profile count data file not foun
d [-Wmissing-profile]
267 | }
| ^
make[1]: *** [Makefile:1396: ext/hash/hash_xxhash.lo] Error 1
make[1]: Leaving directory '/tmp/php-8.3.8'
make: *** [Makefile:288: prof-use] Error 2The error doesn’t appear with GCC11.
PHP Version
PHP 8.3.8
Operating System
RHEL 9
Activity
ndossche commentedon Jul 5, 2024
I don't really get what the bug/issue is. You're cleaning the profile data with prof-clean, so of course it doesn't find the necessary file?
nisbet-hubbard commentedon Jul 6, 2024
Oh, the abort wasn't caused by that warning. There's quite a number of these, but they don't affect
make. There's a bugzilla ticket that explains why these warnings are there.The issue is about compiler incompatibility. I was able to compile just fine with GCC11 (with all those warnings present), but not with GCC13.
ndossche commentedon Jul 6, 2024
Can you please post the error that causes the abort?
nisbet-hubbard commentedon Jul 6, 2024
This is all that the compiler emitted:
Although it follows on the heels of the warning, the error apparently has nothing to do with the warning since GCC11 compiled fine despite the warning. And other similar warnings didn't lead to failure in 13.
14 remaining items
ndossche commentedon Jun 9, 2025
Okay, it seems that the issue with
PHP_XXH3_128_Initcan be fixed by droppingzend_always_inlinefrom_PHP_XXH3_Initas the compiler apparently decides to do different things there, and looking at the code usingzend_always_inlinethere also doesn't make sense in the first place. So that's easy.Now on to
PHP_XXH3_128_Final...ndossche commentedon Jun 9, 2025
@nisbet-hubbard Please try the following patch (save it as a file and then apply with
git apply filename).Make sure you first run
make clean && make prof-clean.nisbet-hubbard commentedon Jun 9, 2025
Works for me. Thank you!
[-][Makefile:1396: ext/hash/hash_xxhash.lo] Error 1 using GCC13[/-][+]PGO build fails with xxhash[/+]Fix phpGH-14551: PGO build fails with xxhash
Fix GH-14551: PGO build fails with xxhash
Merge branch 'PHP-8.3' into PHP-8.4
Merge branch 'PHP-8.4'