The code in type_byte() is wrong:
type_byte:
cmp r0, #7
bhi .L22
tbb [pc, r0]
.L31:
.byte (.L23-.L31)/2
.byte (.L24-.L31)/2
.byte (.L25-.L31)/2
.byte (.L26-.L31)/2
.byte (.L32-.L31)/2
.byte (.L28-.L31)/2
.byte (.L29-.L31)/2
.byte (.L30-.L31)/2
.L30:
movs r0, #112
bx lr
.L22:
push {r4, lr}
movw r0, #:lower16:.LC1
sub sp, sp, #8
movw r1, #:lower16:.LC2
movw r3, #:lower16:.LANCHOR0
movt r0, #:upper16:.LC1
movt r1, #:upper16:.LC2
movw r2, #1758
movt r3, #:upper16:.LANCHOR0
movs r4, #0
str r4, [sp, #0]
bl g_assertion_message
movs r0, #118
bx lr
.L24:
movs r0, #115
bx lr
.L25:
movs r0, #105
bx lr
.L26:
movs r0, #102
bx lr
...
Most of the branches are fine, except the one that has the assertion.
The prologue pushes and adjusts the stack by 8 but doesn't fix it in the
epilogue.
** Attachment added: "Preprocessed source"
https://bugs.launchpad.net/ubuntu/+source/gconf/+bug/757427/+attachment/2038170/+files/gconf-internals.i.gz
** Tags added: shrinkwrap
** Changed in: gcc-linaro
Status: New => Triaged
** Changed in: gcc-linaro
Importance: Undecided => High
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/757427
Title:
gconftool-2 segfaults on arm
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs