It looks like the underlying cause may be a bug in gas, which causes the
wrong alignment to be set for code sections -- upstream binutils bug
raised and cross-referenced from this bug.
When building firefox for Thumb, .text contains a mixture of Thumb code
and ARM code (the ARM code comes from the */arm/*.asm files). The ARM
code sections don't declare an appropriate alignment requirement in the
objects output from the assembler, and end up in the final link aligned
on an odd halfword offset.
Disassembling /usr/lib/firefox-5.0/libxul.so shows the boundary between
compiler-generated Thumb code and the hand-written ARM assembler, with
the ARM instructions on an invalid, non-word-aligned offset:
61e6f2: 9201 str r2, [sp, #4]
61e6f4: 6a5a ldr r2, [r3, #36] ; 0x24
61e6f6: 695b ldr r3, [r3, #20]
61e6f8: f42f efd0 blx 24e69c <_init+0x5da4>
61e6fc: bd0e pop {r1, r2, r3, pc}
0061e6fe <vp8_decode_mb_tokens_v6>:
61e6fe: e92d4ff0 push {r4, r5, r6, r7, r8, r9, sl, fp, lr}
61e702: e24dd040 sub sp, sp, #64 ; 0x40
61e706: e1a07001 mov r7, r1
61e70a: e1a09000 mov r9, r0
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/789198
Title:
Firefox crashes when attempting to play webm video on ARM with Thumb2
enabled
To manage notifications about this bug go to:
https://bugs.launchpad.net/binutils/+bug/789198/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs