Good point by Chituc. I had assumed this was already cross-compiled, but
according to the Ubuntu build log:
> checking whether cross compiling... no
Who here knows how the Arch Linux armhf package is built?
It's also still possible that a newer toolchain could fix things. I read
somewhere that Ubuntu 18.04 Bionic would be upgrading to gcc 7. Anyone
tried Firefox 58 or 59 on there?
The SkJumper_generated source is available on Mercurial:
It's possible to take a closer look at the "illegal instruction" with
firefox -g. At the crash point in gdb, run: layout asm; set arm
fallback-mode arm; tui disable; disas /r <starting instruction>,<ending
instruction>. Initially it gets confused about the instruction layout,
but after trying different ranges it'll eventually decode properly:
(gdb) disas /r 0xf458bb28,0xf458bb3e
Dump of assembler code from 0xf458bb28 to 0xf458bb3e:
0xf458bb28: 92 2c 44 f2 vfma.f32 d18, d20, d2
0xf458bb2c: 93 3c 44 f2 vfma.f32 d19, d20, d3
0xf458bb30: b0 01 20 f2 vorr d0, d16, d16
0xf458bb34: b1 11 21 f2 vorr d1, d17, d17
0xf458bb38: b2 21 22 f2 vorr d2, d18, d18
0xf458bb3c: b3 31 23 f2 vorr d3, d19, d19
End of assembler dump.
However, those are exactly the instructions specified for _sk_xor__vfp4
in SkJumper_generated.S. It's hard to see how the compiler or binutils
could be directly responsible for generating an illegal instruction
You can actually hexedit libxul.so and change those four vorr
instructions into NOPs. Firefox then makes it past this point but
crashes obscurely elsewhere, with different crash signatures on Firefox
58 vs 59.
Firefox arm64 (Pi 3 or other 64-bit board required) 58 and 59 still
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
Firefox crashes at start on armv7L after 55.0.1 update
To manage notifications about this bug go to:
ubuntu-bugs mailing list