[Bug 758082] Re: [armel] segfaults in make check pass when built with optimization
Michael Hope
758082 at bugs.launchpad.net
Sun Apr 17 21:56:27 UTC 2011
lp:~rsandifo/gcc-linaro/lp-758082 fixes this but the code generated is
poor:
foo:
push {r1, r2, r3}
ldr r3, [r0, #0]
push {lr}
sub sp, sp, #8
ldr r3, [r3, #8]
subs r2, r3, #6
it ne
movne r2, #1
cmp r3, #8
ite eq
moveq r3, #0
andne r3, r2, #1
cbnz r3, .L1
movw r2, #:lower16:stdout
add r3, sp, #16
movt r2, #:upper16:stdout
ldr r1, [sp, #12]
ldr r0, [r2, #0]
mov r2, r3
str r3, [sp, #4]
bl vfprintf
.L1:
add sp, sp, #8
pop {lr}
add sp, sp, #12
bx lr
r1 doesn't need to be saved. Ignoring hazards, r0 could be used instead
of r3. The epilogue is poor due to the two adds. lr could be pushed
with the initial push.
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to augeas in Ubuntu.
https://bugs.launchpad.net/bugs/758082
Title:
[armel] segfaults in make check pass when built with optimization
More information about the Ubuntu-server-bugs
mailing list