[PATCH] Disable use of std::call_once on OpenBSD with libstdc++

Hal Finkel via llvm-commits llvm-commits at lists.llvm.org
Sat Oct 29 23:26:35 PDT 2016


----- Original Message -----
> From: "Brad Smith via llvm-commits" <llvm-commits at lists.llvm.org>
> To: llvm-commits at lists.llvm.org
> Sent: Sunday, October 30, 2016 12:54:02 AM
> Subject: Re: [PATCH] Disable use of std::call_once on OpenBSD with libstdc++
> 
> On 10/23/16 20:58, Brad Smith wrote:
> > On Sun, Oct 23, 2016 at 10:15:37PM +0200, Joerg Sonnenberger via
> > llvm-commits wrote:
> >> On Sat, Oct 15, 2016 at 04:46:19PM -0400, Brad Smith via
> >> llvm-commits wrote:
> >>> Disable the use of std::call_once on OpenBSD with libstc++. It
> >>> was noticed this caused
> >>> performance regressions and deadlocks.
> >>
> >> I'd prefer to reorder this somewhat to make it clear what is
> >> tested:
> >>
> >> LLVM_ON_UNIX && (LIBCPP_VERSION || !(NetBSD || OpenBSD || ppc)).
> >>
> >> and invert the comment accordingly, e.g. "std::call_once from
> >> libc++ is
> >> used on all Unix platforms. Other implementations like libstdc++
> >> are
> >> known to have problems on NetBSD, OpenBSD and PowerPC."
> >>
> >> This is a change on PPC, but it seems to match the intention.
> >
> > An updated patch is attached.
> >
> > I created a PR as requested, PR30768.
> 
> Any further comment? LGTM?

To be clear, the change in behavior for PPC is that we were never using std::call_once on PPC, but with this change, we'll use std::call_once with libc++ but not otherwise?

Thanks again,
Hal

> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> 

-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory


More information about the llvm-commits mailing list