Overview
Comment: | configure: Check whether blx is available on ARM |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
4f3f90e5e7d81bfb0fa840594651156f |
User & Date: | js on 2024-05-11 18:02:46 |
Other Links: | manifest | tags |
Context
2024-05-11
| ||
22:18 | README.md: Add instructions for Debian check-in: a11c477d19 user: js tags: trunk | |
18:03 | configure: Check whether blx is available on ARM check-in: 07913b4cb3 user: js tags: 1.1 | |
18:02 | configure: Check whether blx is available on ARM check-in: 4f3f90e5e7 user: js tags: trunk | |
2024-05-09
| ||
10:21 | Use unsigned long for bit sets check-in: 96f946d7ad user: js tags: trunk | |
Changes
Modified configure.ac from [dc329f0c7e] to [13c768c775].
︙ | ︙ | |||
813 814 815 816 817 818 819 820 821 822 823 824 825 826 | AC_MSG_RESULT($fp_endianess) AS_IF([test x"$fp_endianess" = x"unknown"], [ AC_MSG_ERROR( [Floating point implementation does not conform to IEEE 754!])]) case "$host_cpu" in arm* | earm*) AC_MSG_CHECKING(for VFP2 or above) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([], [ #if !defined(__arm64__) && !defined(__aarch64__) && \ !defined(__ARM64_ARCH_8__) __asm__ __volatile__ ( "vstmdb sp!, {d0-d7}" | > > > > > > > > > > > > > > > > > | 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 | AC_MSG_RESULT($fp_endianess) AS_IF([test x"$fp_endianess" = x"unknown"], [ AC_MSG_ERROR( [Floating point implementation does not conform to IEEE 754!])]) case "$host_cpu" in arm* | earm*) AC_MSG_CHECKING(for blx) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([], [ #if !defined(__arm64__) && !defined(__arch64__) && \ !defined(__ARM64_ARCH_8__) __asm__ __volatile__ ( "blx r12" ); #endif ]) ], [ AC_DEFINE(HAVE_BLX, 1, [Whether we have blx]) AC_MSG_RESULT(yes) ], [ AC_MSG_RESULT(no) ]) AC_MSG_CHECKING(for VFP2 or above) AC_COMPILE_IFELSE([ AC_LANG_PROGRAM([], [ #if !defined(__arm64__) && !defined(__aarch64__) && \ !defined(__ARM64_ARCH_8__) __asm__ __volatile__ ( "vstmdb sp!, {d0-d7}" |
︙ | ︙ |
Modified src/forwarding/forwarding-arm-elf.S from [6672c7d1bd] to [0367f22137].
︙ | ︙ | |||
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | mov r1, r4 bl objc_msg_lookup(PLT) mov r12, r0 ldr r0, [sp, #0] mov r1, r4 ldr r2, [sp, #4] blx r12 cmp r0, #0 beq 0f ldr r1, [sp, #0] cmp r0, r1 beq 0f | > > > > | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | mov r1, r4 bl objc_msg_lookup(PLT) mov r12, r0 ldr r0, [sp, #0] mov r1, r4 ldr r2, [sp, #4] #ifdef HAVE_BLX blx r12 #else bl r12 #endif cmp r0, #0 beq 0f ldr r1, [sp, #0] cmp r0, r1 beq 0f |
︙ | ︙ | |||
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | mov r1, r4 bl objc_msg_lookup(PLT) mov r12, r0 ldr r0, [sp, #4] mov r1, r4 ldr r2, [sp, #8] blx r12 cmp r0, #0 beq 0f ldr r1, [sp, #4] cmp r0, r1 beq 0f | > > > > | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | mov r1, r4 bl objc_msg_lookup(PLT) mov r12, r0 ldr r0, [sp, #4] mov r1, r4 ldr r2, [sp, #8] #ifdef HAVE_BLX blx r12 #else bl r12 #endif cmp r0, #0 beq 0f ldr r1, [sp, #4] cmp r0, r1 beq 0f |
︙ | ︙ |