ARM: Allow building __sigsetjmp as Thumb.

Convert __sigsetjmp code to allow building as Thumb.

ports/ChangeLog.arm:

2013-10-04  Will Newton  <will.newton@linaro.org>

	* sysdeps/arm/setjmp.S (NO_THUMB): Remove define.
	(__sigsetjmp): Use Thumb supported instructions.
This commit is contained in:
Will Newton 2013-09-25 10:17:28 +01:00
parent 6d9b9a67af
commit 41bc5e0935
2 changed files with 5 additions and 3 deletions

View File

@ -5,6 +5,9 @@
* sysdeps/unix/sysv/linux/arm/____longjmp_chk.S (NO_THUMB):
Remove define.
* sysdeps/arm/setjmp.S (NO_THUMB): Remove define.
(__sigsetjmp): Use Thumb supported instructions.
2013-10-03 Will Newton <will.newton@linaro.org>
* sysdeps/arm/__longjmp.S (__longjmp): Demangle fp, sp

View File

@ -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