[maemo-developers] Thumb and VFP support in Maemo-Builder

From: Andrew Zabolotny zap at homelink.ru
Date: Mon Aug 4 19:16:37 EEST 2008
From Mon, 04 Aug 2008 09:22:58 -0500
Glen Ditchfield <gjditchfield at acm.org> 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
Url : http://lists.maemo.org/pipermail/maemo-developers/attachments/20080804/1db3ef99/attachment.pgp 
More information about the maemo-developers mailing list