From owner-svn-src-all@FreeBSD.ORG Mon Apr 16 20:11:26 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 53E81106564A; Mon, 16 Apr 2012 20:11:26 +0000 (UTC) (envelope-from andrew@fubar.geek.nz) Received: from mailfilter25.ihug.co.nz (mailfilter25.ihug.co.nz [203.109.136.25]) by mx1.freebsd.org (Postfix) with ESMTP id 8AEAA8FC0C; Mon, 16 Apr 2012 20:11:25 +0000 (UTC) X-Cloudmark-SP-Filtered: true X-Cloudmark-SP-Result: v=1.0 c=1 a=jYCWiHupMkwA:10 a=IkcTkHD0fZMA:10 a=6I5d2MoRAAAA:8 a=7wJXP1UIrWQDR7MTTHwA:9 a=QEXdDO2ut3YA:10 a=SV7veod9ZcQA:10 a=etJkMkqoFThuCZDw:21 a=fmysP91ott2mn578:21 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Av8EAA98jE/LdqpC/2dsb2JhbABEhWatLIEIggkBAQQBIzMjBQsIAw4KAgImAgI5HgYTiAkEpmySSYEvigOEf4EYBJVsAYVfilaCfIE/ X-IronPort-AV: E=Sophos;i="4.75,431,1330858800"; d="scan'208";a="429881908" Received: from 203-118-170-66.adsl.ihug.co.nz (HELO localhost) ([203.118.170.66]) by smtp.mailfilter5.ihug.co.nz with SMTP; 17 Apr 2012 08:10:12 +1200 Date: Tue, 17 Apr 2012 08:09:54 +1200 From: Andrew Turner To: Juli Mallett Message-ID: <20120417080954.42df316a@fubar.geek.nz> In-Reply-To: References: <201204160938.q3G9cLmw026093@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=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r234337 - in head: lib/libc/arm/gen sys/arm/include X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Apr 2012 20:11:26 -0000 On Mon, 16 Apr 2012 12:41:38 -0700 Juli Mallett wrote: > On Mon, Apr 16, 2012 at 02:38, Andrew Turner > wrote: > > Log: > > =C2=A0Replace the C implementation of __aeabi_read_tp with an assembly > > version. This ensures we follow the ABI by preserving registers > > r1-r3. >=20 > > +ENTRY(__aeabi_read_tp) > > + =C2=A0 =C2=A0 =C2=A0 ldr =C2=A0 =C2=A0 r0, .Larm_tp_address > > + =C2=A0 =C2=A0 =C2=A0 ldr =C2=A0 =C2=A0 r0, [r0] > > + =C2=A0 =C2=A0 =C2=A0 RET > > + > > +.Larm_tp_address: > > + =C2=A0 =C2=A0 =C2=A0 .word ARM_TP_ADDRESS > > + >=20 > Why is this indirection required? Can't you just use ARM_TP_ADDRESS > instead of loading it from data? ARM will let us load a limited number of values straight into registers with a move instruction. Unfortunately the value of ARM_TP_ADDRESS is not one of them. > Also, is our convention for ARM to > use END() with ENTRY() or not? There is no END() macro for ARM. Andrew