Binary package hint: xulrunner-1.9.1
The problem here is that the nanojit output tries to call functions in xulrunner using plain BL instructions, causing the CPU to interpret the called (Thumb-2) code as ARM... which doesn't work.
The symptoms are random SIGILLs and segfaults in firefox-3.5.
Apparently, the required support has been implemented in mozilla-central for the last few months, but unfortunately there is not a straightforward patch against the current Ubuntu source to fix this :(
1) Update to the firefox 3.6 / mozilla 1.9.2 branch on mozilla-central (http://hg.mozilla.org/releases/mozilla-1.9.2/ ... it's still in beta though, and there are unresolved issues about openjdk java plugin support --- see https://blueprints.launchpad.net/ubuntu/+spec/desktop-lucid-new-firefox-support-model)
2) Build all of xulrunner with -marm (firefox may also need -marm --- it depends on whether the nanojit output might call absolutely anything or just support functions in xulrunner)
The most recent relevant commit on mozilla-central is http://hg.mozilla.org/mozilla-central/rev/f8ce8b4d6ce1
It looks like the relevant changes weren't on the mozilla 1.9.1 / firefox 3.5 branch.
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu lucid (development branch)
$ apt-cache policy xulrunner-1.9.1 firefox-3.5
*** 220.127.116.11+nobinonly-0ubuntu2 0
500 http://ports.ubuntu.com/main Packages
*** 3.5.5+nobinonly-0ubuntu2 0
500 http://ports.ubuntu.com lucid/main Packages