This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] ARM: Allow building __sigsetjmp as Thumb.


Convert __sigsetjmp code to allow building as Thumb.

ports/ChangeLog.arm:

2013-09-25  Will Newton  <will.newton@linaro.org>

	* sysdeps/arm/setjmp.S (NO_THUMB): Remove define.
	(__sigsetjmp): Use Thumb supported instructions.
---
 ports/sysdeps/arm/setjmp.S | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/ports/sysdeps/arm/setjmp.S b/ports/sysdeps/arm/setjmp.S
index b38b919..fedd994 100644
--- a/ports/sysdeps/arm/setjmp.S
+++ b/ports/sysdeps/arm/setjmp.S
@@ -16,8 +16,6 @@
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */

-/* ??? Needs more rearrangement for the STM to handle thumb mode.  */
-#define NO_THUMB
 #include <sysdep.h>
 #include <bits/setjmp.h>
 #include <rtld-global-offsets.h>
@@ -35,7 +33,8 @@ ENTRY (__sigsetjmp)
 	sfi_breg ip, \
 	stmia	\B!, JMP_BUF_REGLIST
 #ifdef PTR_MANGLE
-	PTR_MANGLE2 (a4, sp, a3)
+	mov	a4, sp
+	PTR_MANGLE2 (a4, a4, a3)
 	str	a4, [ip], #4
 	PTR_MANGLE2 (a4, lr, a3)
 	str	a4, [ip], #4
-- 
1.8.1.4


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]