On riscv64 require libatomic if actually needed

clang and newer gcc releases support byte-sized atomic accesses on
riscv64 through inline builtins.  In both cases the hard dependency on
libatomic added by GH-11321 isn't useful.

Stop using AC_CHECK_LIB() which is too naive to notice that libatomic
isn't needed.  Instead, PHP_CHECK_FUNC() will retry the check with -latomic
if required.

Closes GH-11790
This commit is contained in:
Jeremie Courreges-Anglas 2023-08-28 19:47:19 +02:00 committed by Peter Kokot
parent c8f6ee8c6f
commit bf3fb4e5c9
2 changed files with 3 additions and 5 deletions

2
NEWS
View File

@ -4,6 +4,8 @@ PHP NEWS
- Core:
. Fixed bug GH-11937 (Constant ASTs containing objects). (ilutov)
. Fixed bug GH-11790 (On riscv64 require libatomic if actually needed).
(Jeremie Courreges-Anglas)
- DOM:
. Fix memory leak when setting an invalid DOMDocument encoding. (nielsdos)

View File

@ -369,11 +369,7 @@ AC_CHECK_LIB(m, sin)
case $host_alias in
riscv64*)
AC_CHECK_LIB(atomic, __atomic_exchange_1, [
PHP_ADD_LIBRARY(atomic)
], [
AC_MSG_ERROR([Problem with enabling atomic. Please check config.log for details.])
])
PHP_CHECK_FUNC(__atomic_exchange_1, atomic)
;;
esac