|
Message-ID: <ZGpt+VF3e5pmnXKH@voyager> Date: Sun, 21 May 2023 21:16:09 +0200 From: Markus Wichmann <nullplan@....net> To: musl@...ts.openwall.com Subject: Re: Re:Re: Re: Question:Why musl call a_barrier in __pthread_once? Am Thu, May 18, 2023 at 10:37:06PM +0800 schrieb 847567161: > How about the implement of aosp? Didn't they follow the posix? > http://aospxref.com/android-13.0.0_r3/xref/bionic/libc/bionic/pthread_once.cpp#41 > Apparently not. If the initialization routine is cancelled, the control variable is not reset to 0, so all future calls to pthread_once() on the same variable will just hang. But that can be remedied with adding the requisite pthread_cleanup_push()/pop() calls around the call to the init routine. Besides it doesn't help your case. You wanted to remove the "dmb" instruction right? Well, that code adds it if the compiler thinks it is necessary, and GCC trunk for ARM does so: https://godbolt.org/z/WcrfTdTx5 Ciao, Markus
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.