svn commit: r234337 - in head: lib/libc/arm/gen sys/arm/include

Juli Mallett jmallett at FreeBSD.org
Mon Apr 16 19:42:00 UTC 2012


On Mon, Apr 16, 2012 at 02:38, Andrew Turner <andrew at freebsd.org> wrote:
> Log:
>  Replace the C implementation of __aeabi_read_tp with an assembly version.
>  This ensures we follow the ABI by preserving registers r1-r3.

> +ENTRY(__aeabi_read_tp)
> +       ldr     r0, .Larm_tp_address
> +       ldr     r0, [r0]
> +       RET
> +
> +.Larm_tp_address:
> +       .word ARM_TP_ADDRESS
> +

Why is this indirection required?  Can't you just use ARM_TP_ADDRESS
instead of loading it from data?  Also, is our convention for ARM to
use END() with ENTRY() or not?


More information about the svn-src-head mailing list