Skip to content

Commit 0324645

Browse files
committed
autotools: Add SECP_ARM32_ASM_CHECK macro
1 parent ed4ba23 commit 0324645

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

build-aux/m4/bitcoin_secp.m4

+19
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,25 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
99
AC_MSG_RESULT([$has_64bit_asm])
1010
])
1111

12+
AC_DEFUN([SECP_ARM32_ASM_CHECK], [
13+
AC_MSG_CHECKING(for ARM32 assembly availability)
14+
SECP_ARM32_ASM_CHECK_CFLAGS_saved_CFLAGS="$CFLAGS"
15+
CFLAGS="-x assembler"
16+
AC_LINK_IFELSE([AC_LANG_SOURCE([[
17+
.syntax unified
18+
.eabi_attribute 24, 1
19+
.eabi_attribute 25, 1
20+
.text
21+
.global main
22+
main:
23+
ldr r0, =0x002A
24+
mov r7, #1
25+
swi 0
26+
]])], [has_arm32_asm=yes], [has_arm32_asm=no])
27+
AC_MSG_RESULT([$has_arm32_asm])
28+
CFLAGS="$SECP_ARM32_ASM_CHECK_CFLAGS_saved_CFLAGS"
29+
])
30+
1231
AC_DEFUN([SECP_VALGRIND_CHECK],[
1332
AC_MSG_CHECKING([for valgrind support])
1433
if test x"$has_valgrind" != x"yes"; then

configure.ac

+4
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,10 @@ else
280280
fi
281281
;;
282282
arm32)
283+
SECP_ARM32_ASM_CHECK
284+
if test x"$has_arm32_asm" != x"yes"; then
285+
AC_MSG_ERROR([ARM32 assembly optimization requested but not available])
286+
fi
283287
;;
284288
no)
285289
;;

0 commit comments

Comments
 (0)