Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 29 Apr 2014 00:52:36 +0100
From: Stephen Thomas <>
To: "" <>
Subject: RE: thumb2 support

> On Mon, Apr 28, 2014 at 02:06:31PM +0200, Szabolcs Nagy wrote:> > > <deleted>Makefile:115: recipe for target 'src/dirent/scandir.o' failedmake: *** [src/dirent/scandir.o] Error 1{standard input}: Assembler messages:{standard input}:36: Error: thumb conditional instruction should be in IT block -- `strexeq r1,r0,[r2]'{standard input}:37: Error: thumb conditional instruction should be in IT block -- `teqeq r1,#1'> > > <deleted>
> > > You can ignore the first error. That might be some gcc issue, but it would appear that the syscall is using arm instructions in arch/arm/atomic.h. Does anyone know if thumb2 is going to be supported? 
> > 
> Yes, 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 and was quite slow. I only care about thumb2 and am currently using gcc, 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 cannot remember what rvct/rvds or whatever it is branded as these days uses, but from memory old versions didn't support the gnu assebmly syntax.


Content of type "text/html" skipped

Download attachment "thumb2.patch" of type "application/octet-stream" (369 bytes)

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.