|
Message-ID: <529281D8.9020909@pennware.com> Date: Sun, 24 Nov 2013 16:46:48 -0600 From: Richard Pennington <rich@...nware.com> To: musl@...ts.openwall.com Subject: Re: Clang powerpc pthread_arch.h patch. 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. -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.