From: Roland McGrath Date: Wed, 13 Mar 2013 16:51:37 +0000 (-0700) Subject: ARM: Handle ARM_ALWAYS_BX in {add,sub}_n.S code. X-Git-Tag: glibc-2.18~542 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ccffb2a2db302beb07493fca6b1365ff3c8135dc;p=thirdparty%2Fglibc.git ARM: Handle ARM_ALWAYS_BX in {add,sub}_n.S code. --- diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm index 72060bac34c..71520a63445 100644 --- a/ports/ChangeLog.arm +++ b/ports/ChangeLog.arm @@ -1,5 +1,8 @@ 2013-03-13 Roland McGrath + * sysdeps/arm/add_n.S: Include . + [ARM_ALWAYS_BX]: Don't pop into pc. + * sysdeps/arm/arm-features.h: Add comment about ARM_ALWAYS_BX. * sysdeps/arm/memcpy.S: Include . [ARM_ALWAYS_BX]: Avoid pc as destination. diff --git a/ports/sysdeps/arm/add_n.S b/ports/sysdeps/arm/add_n.S index 119a9942d1a..52927d997d2 100644 --- a/ports/sysdeps/arm/add_n.S +++ b/ports/sysdeps/arm/add_n.S @@ -17,6 +17,7 @@ . */ #include +#include .syntax unified .text @@ -80,5 +81,10 @@ ENTRY (FUNC) 9: RETC /* copy carry out */ +#ifndef ARM_ALWAYS_BX pop { r4, r5, r6, r7, r8, r10, pc } +#else + pop { r4, r5, r6, r7, r8, r10, lr } + bx lr +#endif END (FUNC)