* grub-core/kern/arm/cache.S: Don't switch back to ARM mode when

compiling to thumb2.
	* grub-core/kern/arm/cache_armv7.S: Likewise.
	* grub-core/lib/arm/setjmp.S: Likewise.
This commit is contained in:
Vladimir Serbinenko 2013-11-16 17:37:06 +01:00
parent 11a7793221
commit 9ef81064a3
4 changed files with 37 additions and 7 deletions

View file

@ -24,7 +24,11 @@
GRUB_MOD_LICENSE "GPLv3+"
.syntax unified
#if !defined (__thumb2__)
.arm
#else
.thumb
#endif
.text
@ -32,7 +36,8 @@ GRUB_MOD_LICENSE "GPLv3+"
* int grub_setjmp (grub_jmp_buf env)
*/
FUNCTION(grub_setjmp)
stm r0, { r4-r11, sp, lr }
mov r12, sp
stm r0, { r4-r12, lr }
mov r0, #0
bx lr
@ -40,7 +45,9 @@ FUNCTION(grub_setjmp)
* int grub_longjmp (grub_jmp_buf env, int val)
*/
FUNCTION(grub_longjmp)
ldm r0, { r4-r11, sp, lr }
ldm r0, { r4-r12, lr }
mov sp, r12
movs r0, r1
it eq
moveq r0, #1
bx lr