mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
Fix GH-15587: Autotools: fix configure check for aarch64 CRC32 API
On arm32 bit the check succeeds leading to a build error later on: /home/autobuild/autobuild/instance-3/output-1/build/php-8.3.10/ext/standard/crc32.c:70:12: error: 'armv8-a' does not support feature 'nothing' 70 | # pragma GCC target ("+nothing+crc") Co-authored-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> [http://lists.busybox.net/pipermail/buildroot/2024-August/761151.html] Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
This commit is contained in:
parent
4b6575a1f9
commit
5947db6bb8
2
NEWS
2
NEWS
@ -9,6 +9,8 @@ PHP NEWS
|
||||
. Fixed bug GH-15514 (Configure error: genif.sh: syntax error). (Peter Kokot)
|
||||
. Fixed bug GH-15565 (--disable-ipv6 during compilation produces error
|
||||
EAI_SYSTEM not found). (nielsdos)
|
||||
. Fixed bug GH-15587 (CRC32 API build error on arm 32-bit).
|
||||
(Bernd Kuhls, Thomas Petazzoni)
|
||||
|
||||
- DOM:
|
||||
. Fixed bug GH-15551 (Segmentation fault (access null pointer) in
|
||||
|
24
configure.ac
24
configure.ac
@ -738,11 +738,25 @@ AC_FUNC_ALLOCA
|
||||
PHP_TIME_R_TYPE
|
||||
PHP_CHECK_IN_ADDR_T
|
||||
|
||||
AC_CACHE_CHECK([for aarch64 CRC32 API], ac_cv_func___crc32d,
|
||||
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <arm_acle.h>]],[[__crc32d(0, 0);]])],[ac_cv_func___crc32d=yes],[ac_cv_func___crc32d="no"])])
|
||||
if test "$ac_cv_func___crc32d" = "yes"; then
|
||||
AC_DEFINE([HAVE_AARCH64_CRC32], [1], [Define when aarch64 CRC32 API is available.])
|
||||
fi
|
||||
AC_CACHE_CHECK([for aarch64 CRC32 API], [ac_cv_func___crc32d],
|
||||
[AC_LINK_IFELSE([AC_LANG_PROGRAM([
|
||||
#include <arm_acle.h>
|
||||
# if defined(__GNUC__)
|
||||
# if!defined(__clang__)
|
||||
# pragma GCC push_options
|
||||
# pragma GCC target ("+nothing+crc")
|
||||
# elif defined(__APPLE__)
|
||||
# pragma clang attribute push(__attribute__((target("crc"))), apply_to=function)
|
||||
# else
|
||||
# pragma clang attribute push(__attribute__((target("+nothing+crc"))), apply_to=function)
|
||||
# endif
|
||||
# endif
|
||||
], [__crc32d(0, 0);])],
|
||||
[ac_cv_func___crc32d=yes],
|
||||
[ac_cv_func___crc32d=no])])
|
||||
AS_VAR_IF([ac_cv_func___crc32d], [yes],
|
||||
[AC_DEFINE([HAVE_AARCH64_CRC32], [1],
|
||||
[Define to 1 when aarch64 CRC32 API is available.])])
|
||||
|
||||
dnl Check for asm goto support.
|
||||
AC_CACHE_CHECK([for asm goto], ac_cv__asm_goto,
|
||||
|
Loading…
Reference in New Issue
Block a user