From owner-svn-src-head@FreeBSD.ORG Sun Apr 8 04:46:42 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 64D36106564A; Sun, 8 Apr 2012 04:46:42 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from mailfilter7.ihug.co.nz (mailfilter7.ihug.co.nz [203.109.136.7]) by mx1.freebsd.org (Postfix) with ESMTP id BF1E78FC18; Sun, 8 Apr 2012 04:46:41 +0000 (UTC) X-Cloudmark-SP-Filtered: true X-Cloudmark-SP-Result: v=1.0 c=1 a=DE6nE7g822sA:10 a=kj9zAlcOel0A:10 a=f/SxzVRvWQdBqo0nlH1VRA==:17 a=6I5d2MoRAAAA:8 a=6aGdb0JzarhYoHAFRQ4A:9 a=CjuIK1q_8ugA:10 a=SV7veod9ZcQA:10 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aq0IADIXgU/Ldqol/2dsb2JhbABFuDJygQiCCQEBBAE6HCMFCwgDFDI5HhmICQQMuUeLMYUpBJVrAZA2gnyBQA X-IronPort-AV: E=Sophos;i="4.75,389,1330858800"; d="scan'208";a="183847805" Received: from 203-118-170-37.adsl.ihug.co.nz (HELO localhost) ([203.118.170.37]) by cust.filter7.content.vf.net.nz with SMTP; 08 Apr 2012 16:45:32 +1200 Date: Sun, 8 Apr 2012 16:45:21 +1200 From: Andrew Turner Message-ID: <20120408164521.55aecdd1@fubar.geek.nz> In-Reply-To: <201204080436.q384aRXS093116@svn.freebsd.org> References: <201204080436.q384aRXS093116@svn.freebsd.org> X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.6; i386-portbld-freebsd8.0) X-Pirate: Arrrr Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234014 - head/lib/libc/arm/gen X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Apr 2012 04:46:42 -0000 On Sun, 8 Apr 2012 04:36:27 +0000 (UTC) Andrew Turner 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