summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2016-09-18 13:48:38 +0000
committerCamil Staps2016-09-18 13:48:38 +0000
commitb7cdfd23387fcf1dfee4c3b75183cba5699fc592 (patch)
tree693047f82dcf573421c6d5880c6ff1455394d012
parent.gitignore; Makefile; Add thumb2*.s as copies of arm*.s, adapt str pc,[sp,#-4... (diff)
Fix some Thumb-2 things
-rw-r--r--thumb2compact.s3
-rw-r--r--thumb2mark.s3
-rw-r--r--thumb2startup.s3
3 files changed, 6 insertions, 3 deletions
diff --git a/thumb2compact.s b/thumb2compact.s
index 517c29a..ac79a79 100644
--- a/thumb2compact.s
+++ b/thumb2compact.s
@@ -710,7 +710,8 @@ not_linked_record_argument_part_3_b:
lsr r8,r8,#2
mov r12,#1
- mvn r8,r12,lsl r8
+ lsl r12,r8
+ mvn r8,r12
ldr r12,[r3,r4,lsl #2]
and r12,r12,r8
diff --git a/thumb2mark.s b/thumb2mark.s
index 0ad6930..a4168c8 100644
--- a/thumb2mark.s
+++ b/thumb2mark.s
@@ -102,7 +102,8 @@ restore_arrays:
lsr r3,r3,r12
sub r8,r8,#1
add r8,r8,r8
- ldr r8,[pc,r8]
+ add r12,pc,#0
+ ldr r8,[r12,r8]
b skip_mod_inverse_table
.word 1
diff --git a/thumb2startup.s b/thumb2startup.s
index b66a5a5..a3098df 100644
--- a/thumb2startup.s
+++ b/thumb2startup.s
@@ -2055,7 +2055,8 @@ collect:
lao r12,halt_sp,2
ldo r4,r12,halt_sp,2
- sub r0,r4,sp
+ add r0,sp,#0
+ sub r0,r4,r0
bl ew_print_int
lao r0,garbage_collect_string_3,0