svn commit: r234014 - head/lib/libc/arm/gen

Andrew Turner andrew at fubar.geek.nz
Sun Apr 8 04:46:42 UTC 2012


On Sun, 8 Apr 2012 04:36:27 +0000 (UTC)
Andrew Turner <andrew at FreeBSD.org> wrote:

> Author: andrew
> Date: Sun Apr  8 04:36:27 2012
> New Revision: 234014
> URL: http://svn.freebsd.org/changeset/base/234014
> 
> Log:
>   Unlike other functions __aeabi_read_tp function must preserve
> r1-r3. The currently generated code clobbers r3. Fix this by loading
> ARM_TP_ADDRESS using inline assembly.
>   
>   Approved by:	imp (mentor)

This fixes thread local storage on ARM in cases when the compiler loads
the offset of the variable in r3 before calling __aeabi_read_tp as has
been observed when the variable is in a shared library.

Andrew


More information about the svn-src-all mailing list