From Mon, 04 Aug 2008 09:22:58 -0500
Glen Ditchfield <[EMAIL PROTECTED]> wrote:

> I believe they are enabled.  Take a look at
> https://garage.maemo.org/builder/chinook/fribidi_0.10.9-1maemo2/armel.build.log.OK.txt
Oops, indeed. My bad, it seems I was misleaded by the size mismatch
between the .deb file I've built myself and the .deb file built by the
autobuilder. I had the impression the .deb file built by the autobuilder
was substantially larger than my .deb file, but I cannot find this
package now.

>   -mthumb-interwork
> Generate code which supports calling between the ARM and Thumb
> instruction sets. Without this option the two instruction sets cannot
> be reliably used inside one program. The default is
> -mno-thumb-interwork, since slightly larger code is generated when
> -mthumb-interwork is specified.
In my opinion, -mthumb-interwork must be specified for programs and
-mthumb-interwork must be used for libraries. Functions in a program are
never called from other modules, thus they can use pure thumb
instructions. With -mthumb-interwork, as far as I understand, on entry
to all functions it is expected that the CPU is in 32-bit mode, and
then it switches to thumb mode (and returns into 32-bit mode before
returning). Also thumb code should be slower (because it can access
less registers thus more memory accesses), so it should not be used for
performance-critical libraries IMHO, unless CPU instruction cache size
plays an important role (e.g. unless active set size can fit with
-mthumb in the 32k CPU instruction cache, and without it it doesn't
fit).

-- 
Andrew

Attachment: signature.asc
Description: PGP signature

_______________________________________________
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers

Reply via email to