|
Message-ID: <20131202074806.GG24286@brightrain.aerifal.cx> Date: Mon, 2 Dec 2013 02:48:06 -0500 From: Rich Felker <dalias@...ifal.cx> To: musl@...ts.openwall.com Subject: Re: Clang powerpc pthread_arch.h patch. On Sun, Nov 24, 2013 at 04:46:48PM -0600, Richard Pennington wrote: > On 11/24/2013 04:31 PM, Rich Felker wrote: > >On Sun, Nov 24, 2013 at 01:23:44PM -0600, Richard Pennington wrote: > >>I had a problem with clang and __pthread_self() on the powerpc. This > >>is the patch I applied to work around it. > >> > >>Index: pthread_arch.h > >>=================================================================== > >>--- pthread_arch.h (revision 3604) > >>+++ pthread_arch.h (working copy) > >>@@ -1,6 +1,11 @@ > >> static inline struct pthread *__pthread_self() > >> { > >>+#ifdef __clang__ > >>+ char *tp; > >>+ __asm__ __volatile__ ("mr %0, 2" : "=r" (tp) : : "2" ); > >>+#else > >Why is "2" in the clobberlist? It's just read, not written. In > >principle there should be some way to indicate that the asm has hidden > >state it reads so that it couldn't be reordered before the initial asm > >call that initializes the register, but that would be massive > >reordering that's not likely to happen anyway. I'm not sure what the > >right way to encode this as a constraint is... > > > >Rich > Hi Rich, > > You're right about the clobber list. Not that it matters much in > this case I think. Committed a fix based on your patch; let me know if you still have problems with it. Rich
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.