|
Message-ID: <529C8205.605@pennware.com> Date: Mon, 02 Dec 2013 06:50:13 -0600 From: Richard Pennington <rich@...nware.com> To: musl@...ts.openwall.com CC: Rich Felker <dalias@...ifal.cx> Subject: Re: Clang powerpc pthread_arch.h patch. On 12/02/2013 01:48 AM, Rich Felker wrote: > 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 > > Thanks Rich. It has been working fine here. -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.