with the backport of PR44768, this looks better:
--- parsehelp.s 2010-11-26 15:19:47.000000000 +0000 +++ ../parsehelp.s 2010-11-26 15:08:31.000000000 +0000 @@ -208,16 +208,15 @@ .thumb_func .type parse_error_msg.clone.1, %function parse_error_msg.clone.1: - @ Volatile: function does not return. @ args = 4, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - push {r7, lr} + push {r4, r5, r6, r7, r8, lr} sub sp, sp, #8 mov r4, r2 mov r6, r0 mov r5, r1 mov r7, r3 - ldr r8, [sp, #16] + ldr r8, [sp, #32] cbz r2, .L41 ldr r3, [r2, #4] cbz r3, .L41 @@ -236,7 +235,7 @@ mov r0, r8 bl sprintf add sp, sp, #8 - pop {r7, pc} + pop {r4, r5, r6, r7, r8, pc} .L41: movw r1, #:lower16:.LC10 movs r2, #5 @@ -246,11 +245,11 @@ ldr r4, [r5, #0] ldr r3, [r6, #0] mov r2, r7 - str r4, [sp, #16] + str r4, [sp, #32] mov r1, r0 mov r0, r8 add sp, sp, #8 - pop {r7, lr} + pop {r4, r5, r6, r7, r8, lr} b sprintf .size parse_error_msg.clone.1, .-parse_error_msg.clone.1 .align 2
with the backport of PR44768, this looks better:
--- parsehelp.s 2010-11-26 15:19:47.000000000 +0000 msg.clone. 1, %function error_msg. clone.1: msg.clone. 1, .-parse_ error_msg. clone.1
+++ ../parsehelp.s 2010-11-26 15:08:31.000000000 +0000
@@ -208,16 +208,15 @@
.thumb_func
.type parse_error_
parse_
- @ Volatile: function does not return.
@ args = 4, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
- push {r7, lr}
+ push {r4, r5, r6, r7, r8, lr}
sub sp, sp, #8
mov r4, r2
mov r6, r0
mov r5, r1
mov r7, r3
- ldr r8, [sp, #16]
+ ldr r8, [sp, #32]
cbz r2, .L41
ldr r3, [r2, #4]
cbz r3, .L41
@@ -236,7 +235,7 @@
mov r0, r8
bl sprintf
add sp, sp, #8
- pop {r7, pc}
+ pop {r4, r5, r6, r7, r8, pc}
.L41:
movw r1, #:lower16:.LC10
movs r2, #5
@@ -246,11 +245,11 @@
ldr r4, [r5, #0]
ldr r3, [r6, #0]
mov r2, r7
- str r4, [sp, #16]
+ str r4, [sp, #32]
mov r1, r0
mov r0, r8
add sp, sp, #8
- pop {r7, lr}
+ pop {r4, r5, r6, r7, r8, lr}
b sprintf
.size parse_error_
.align 2