Bug 10333 - (int-171087) Thumb feature is not enable in the PR1.2 ROM
(int-171087)
: Thumb feature is not enable in the PR1.2 ROM
Status: RESOLVED INVALID
Product: Core
general
: 5.0:(10.2010.19-1)
: N900 Maemo
: Unspecified normal (vote)
: ---
Assigned To: unassigned
: core-general-bugs
:
:
:
:
  Show dependency tree
 
Reported: 2010-05-27 07:24 UTC by doug.turner
Modified: 2011-01-18 15:30 UTC (History)
5 users (show)

See Also:


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description doug.turner (reporter) 2010-05-27 07:24:52 UTC
SOFTWARE VERSION:

RX-51_2009SE_10.2010.19-1.002_PR_COMBINED_002_ARM.bin

EXACT STEPS LEADING TO PROBLEM: 

1. cat /proc/cpuinfo
2. notice that thumb* is not listed in the features list

or

try running any thumb2 code on device.


EXPECTED OUTCOME:

I would have expected that thumb2 code be supported

ACTUAL OUTCOME:

Thumb2 code doesn't run


Is there a reason why thumb was disabled?
Comment 1 Mark Finkle (:mfinkle) 2010-05-27 07:28:19 UTC
Just to clarify, Thumb2 does seem to be supported on PR1.1 and does appear in
the /proc/cpuinfo for PR1.1 ROM
Comment 2 Brad Lassey 2010-05-27 08:24:22 UTC
/proc/cpuinfo lists thumb as a cpu feature on 5.0:(2.2009.51-1). Also, fennec
compiled to thumb2 code runs on the older ROM, but not on the newer ROM.
Comment 3 tuukka.tolvanen nokia 2010-05-28 03:22:29 UTC
http://repository.maemo.org/pool/fremantle/free/k/kernel/kernel_2.6.28-20101501+0m5.diff.gz
+  * Fixes: NB#145909 - remove thumb support from kernel

...that's to say it appears to be intentional; someone more familiar with it
may have specifics
Comment 4 Eero Tamminen nokia 2010-05-31 15:49:33 UTC
In addition to some other things, having working thumb support would require a
much newer toolchain that has a workaround for the ARM errata mentioned here:
  http://sourceware.org/ml/binutils/2009-05/msg00297.html

And that of course doesn't fix any thumb code compiled with an earlier
toolchain (like the current one), generated by some JIT engine, written
manually etc.

You can find components using thumb functions with something like this:
  readelf -s $file | grep -v "00000001" | grep FUNC |grep ":
[0-9a-f]*[13579bdf] "

Any such things should be fixed not to use thumb as that will cause crashes in
N900 (in any of the releases, not just PR1.2).  None of the Fremantle releases
have contained any user-space thumb code.

If there's no check for this in extras repository builder, there should be. 
And for example SBOX_BLOCK_ARGS environment variable[1] can be used to block
use of such arguments on builds.

[1] See your /scratchbox/doc/variables.txt document.


(In reply to comment #2)
> /proc/cpuinfo lists thumb as a cpu feature on 5.0:(2.2009.51-1). Also, fennec
> compiled to thumb2 code runs on the older ROM.

Not reliably.
Comment 5 Andre Klapper maemo.org 2011-01-18 15:30:44 UTC
Closing as INVALID to reflect the internal status.
See comment 4 for explanation.