diff --git a/newlib/libc/machine/arm/aeabi_memmove-thumb.S b/newlib/libc/machine/arm/aeabi_memmove-thumb.S index 61a72581c..fadeb9a3b 100644 --- a/newlib/libc/machine/arm/aeabi_memmove-thumb.S +++ b/newlib/libc/machine/arm/aeabi_memmove-thumb.S @@ -26,6 +26,8 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "acle-compat.h" + .thumb .syntax unified .global __aeabi_memmove @@ -49,9 +51,13 @@ __aeabi_memmove: subs r3, r3, #1 bcs 1b 2: +#if __ARM_ARCH >= 5 + pop {r4, pc} +#else pop {r4} pop {r1} bx r1 +#endif 3: movs r3, #0 cmp r2, #0 diff --git a/newlib/libc/machine/arm/aeabi_memset-thumb.S b/newlib/libc/machine/arm/aeabi_memset-thumb.S index aa8f2719e..ed6ce8860 100644 --- a/newlib/libc/machine/arm/aeabi_memset-thumb.S +++ b/newlib/libc/machine/arm/aeabi_memset-thumb.S @@ -26,6 +26,8 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "acle-compat.h" + .thumb .syntax unified .global __aeabi_memset @@ -110,9 +112,13 @@ __aeabi_memset: cmp r4, r3 bne 8b 9: +#if __ARM_ARCH >= 5 + pop {r4, r5, r6, pc} +#else pop {r4, r5, r6} pop {r1} bx r1 +#endif 10: movs r3, r0 movs r4, r1