From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/4985 Path: news.gmane.org!not-for-mail From: Stephen Thomas Newsgroups: gmane.linux.lib.musl.general Subject: RE: thumb2 support Date: Tue, 29 Apr 2014 00:52:36 +0100 Message-ID: References: ,<20140428120630.GG12324@port70.net>,<20140428142714.GX26358@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="_ead62de8-b4d8-426b-8c94-82d035e2829a_" X-Trace: ger.gmane.org 1398729183 32723 80.91.229.3 (28 Apr 2014 23:53:03 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 28 Apr 2014 23:53:03 +0000 (UTC) To: "musl@lists.openwall.com" Original-X-From: musl-return-4989-gllmg-musl=m.gmane.org@lists.openwall.com Tue Apr 29 01:52:56 2014 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1WevLv-0001Pm-JS for gllmg-musl@plane.gmane.org; Tue, 29 Apr 2014 01:52:51 +0200 Original-Received: (qmail 11602 invoked by uid 550); 28 Apr 2014 23:52:49 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 11592 invoked from network); 28 Apr 2014 23:52:49 -0000 X-TMN: [u7PvGjkK+rCclwti2EnqcT45RkaEbUFT] X-Originating-Email: [scjthm@live.com] Importance: Normal In-Reply-To: <20140428142714.GX26358@brightrain.aerifal.cx> X-OriginalArrivalTime: 28 Apr 2014 23:52:36.0414 (UTC) FILETIME=[EE4B65E0:01CF633C] Xref: news.gmane.org gmane.linux.lib.musl.general:4985 Archived-At: --_ead62de8-b4d8-426b-8c94-82d035e2829a_ Content-Type: multipart/alternative; boundary="_19674efa-0d89-4f68-9e1e-b2bf9e8a0ca8_" --_19674efa-0d89-4f68-9e1e-b2bf9e8a0ca8_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable =0A= =0A= =0A= > On Mon=2C Apr 28=2C 2014 at 02:06:31PM +0200=2C Szabolcs Nagy wrote:> > >= Makefile:115: recipe for target 'src/dirent/scandir.o' failedmake= : *** [src/dirent/scandir.o] Error 1{standard input}: Assembler messages:{s= tandard input}:36: Error: thumb conditional instruction should be in IT blo= ck -- `strexeq r1=2Cr0=2C[r2]'{standard input}:37: Error: thumb conditional= instruction should be in IT block -- `teqeq r1=2C#1'> > > > > > You can ignore the first error. That might be some gcc issue=2C but i= t would appear that the syscall is using arm instructions in arch/arm/atomi= c.h. Does anyone know if thumb2 is going to be supported?=20 > >=20 > Yes=2C this is a regression we accidentally introduced in 1.1.0. I'd > like to fix it if someone with ARM knowledge can help. For now perhaps > the easiest way would be adding #if __THUMB__ or whatever to atomic.h > and writing a separate thumb version. > Rich I remember that the old thumb didn't support the conditional instructions a= nd was quite slow. I only care about thumb2 and am currently using gcc=2C s= o I attach a patch for the thumb that will only work for gcc . I think that= gcc builds two versions of atomic so the ugly #define was needed. I cannot= remember what rvct/rvds or whatever it is branded as these days uses=2C bu= t from memory old versions didn't support the gnu assebmly syntax. Cheers Thomo =0A= = --_19674efa-0d89-4f68-9e1e-b2bf9e8a0ca8_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
=0A= =0A= =0A=
>=3B On Mon=2C A= pr 28=2C 2014 at 02:06:31PM +0200=2C Szabolcs Nagy wrote:
= >=3B >=3B >=3B <=3Bdeleted>=3B= Makefile:115: recipe for target 'src/dirent/scandir.o' failedmake: *** [src= /dirent/scandir.o] Error 1{standard input}: Assembler messages:{standard in= put}:36: Error: thumb conditional instruction should be in IT block -- `str= exeq r1=2Cr0=2C[r2]'{standard input}:37: Error: thumb conditional instructi= on should be in IT block -- `teqeq r1=2C#1'
>=3B >=3B = >=3B <=3Bdeleted>=3B
>=3B >=3B >=3B You can ignore the first= error. That might be some gcc issue=2C but it would appear that the syscal= l is using arm instructions in arch/arm/atomic.h. Does anyone know if thumb= 2 is going to be supported?
>=3B >=3B
>=3B Yes=2C this is a r= egression we accidentally introduced in 1.1.0. I'd
>=3B like to fix it= if someone with ARM knowledge can help. For now perhaps
>=3B the easi= est way would be adding #if __THUMB__ or whatever to atomic.h
>=3B and= writing a separate thumb version.
>=3B Rich

<= div>I remember that the old thumb didn't support the conditional instructio= ns and was quite slow. I only care about thumb2 and am currently using gcc= =2C so I attach a patch for the thumb that will only work for gcc . I think= that gcc builds two versions of atomic so the ugly #define was needed. I c= annot remember what rvct/rvds or whatever it is branded as these days uses= =2C but from memory old versions didn't support the gnu assebmly syntax.


Cheers

Thomo=


=0A=
= --_19674efa-0d89-4f68-9e1e-b2bf9e8a0ca8_-- --_ead62de8-b4d8-426b-8c94-82d035e2829a_ Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="thumb2.patch" LS0tIGEvYXJjaC9hcm0vYXRvbWljLmgJMjAxNC0wNC0xNiAwODozMToyNy4wMDAwMDAwMDAgKzAw MDAKKysrIGIvYXJjaC9hcm0vYXRvbWljLmgJMjAxNC0wNC0yOCAyMzoxNDo1MS4zNDQxODU4ODQg KzAwMDAKQEAgLTM5LDcgKzM5LDEzIEBACiAJCSIJIiBNRU1fQkFSUklFUiAiXG4iCiAJCSIxOgls ZHJleCAlMCwlM1xuIgogCQkiCXN1YnMgJTAsJTAsJTFcbiIKKyNpZiBfX3RodW1iMl9fIAorCQki CUlUIGVxXG4iCisjZW5kaWYKIAkJIglzdHJleGVxICUwLCUyLCUzXG4iCisjaWYgX190aHVtYjJf XyAKKwkJIglJVCBlcVxuIgorI2VuZGlmCiAJCSIJdGVxZXEgJTAsIzFcbiIKIAkJIgliZXEgMWJc biIKIAkJIgkiIE1FTV9CQVJSSUVSICJcbiIK --_ead62de8-b4d8-426b-8c94-82d035e2829a_--