From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 29D843858D1E for ; Thu, 11 May 2023 20:52:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 29D843858D1E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1683838356; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=91a8CgadsREZSE5zlA37H+CDl9MqhhT/IqaRb+hgKus=; b=a221bBwhbPinyVXTQAqiMi82n8eTKIl02ocMCmTWt8PhpxeT8CBqZIzJwdqvBDTY+GDdoB SUDU7tYnKHPteA4/cEd0vtelbLrG91KBUBsDOeZpanEZBnFfM23C9IBp6p7+QU6gaYKiic YlY8SgKkzR6i9fvdNnvz8BmV5JTXykg= Received: from mail-lf1-f71.google.com (mail-lf1-f71.google.com [209.85.167.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-546-kjXj2SbrOSqDH3_HB07Rmw-1; Thu, 11 May 2023 16:52:35 -0400 X-MC-Unique: kjXj2SbrOSqDH3_HB07Rmw-1 Received: by mail-lf1-f71.google.com with SMTP id 2adb3069b0e04-4edd54a0eaeso5340141e87.0 for ; Thu, 11 May 2023 13:52:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683838353; x=1686430353; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=vhYfl4CcC89Y6dNZsBVhHovXEmniD3wfhrgcxRhLtL4=; b=UoBFwWKbg829rq//jESFwwm+YdIwla+x1l6wM/GUbsEnh4Kvr/vra/DAFtsIHdTyOC iBmp6cGk/ld2bcMuWA1xdJLDCMgWmOLjDcfxyDQ5D7OVWOuCAQOHXcb8fYDo/Q1nXhsV rbo/tQVlU/LZctWulu4GyYYjsTRCs20YfzWF0//MMp3Yp+s48EgKZtsBr7TxE737tPIy dWAg7u6owHwRsm/ojwLV+Kgk4T137rM6HJ6N3Q9Uj0P2S1/cPHO3WZfPJPPkZtcw7xiK v68zIOD74Mw6w/VH3WHHyc7RjneYlLOYrWdn46nwgSAWWSQyHXHu8Wkds8+vMgcQ1baY ZJyQ== X-Gm-Message-State: AC+VfDyZHbEgxXKChJo0JaJPFjjdBuX3dkwgwKdk7J9zkQzPUAPogIRB oKARPqZG13QVGHGVGQ8MWe5yGoOIp+gCjgXwHyUqkBNrQyecg+D/VGWNzbh1lIKbRlwRAxD8149 WhwXTjubAUVLFtkI2++gWzIVzLzfdocehPQ== X-Received: by 2002:a2e:9818:0:b0:2a8:c842:d30c with SMTP id a24-20020a2e9818000000b002a8c842d30cmr3952906ljj.44.1683838353620; Thu, 11 May 2023 13:52:33 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4eipcVOFy2ODWdwJ501tlJS2PMJ8PXV7lZBzxVjhsAg6zlbmg/NzUf1JMjFOAaGsbODbosyHbFec5wkPwNKBE= X-Received: by 2002:a2e:9818:0:b0:2a8:c842:d30c with SMTP id a24-20020a2e9818000000b002a8c842d30cmr3952901ljj.44.1683838353312; Thu, 11 May 2023 13:52:33 -0700 (PDT) MIME-Version: 1.0 References: <20230510112009.633444-1-jwakely@redhat.com> In-Reply-To: From: Jonathan Wakely Date: Thu, 11 May 2023 21:52:22 +0100 Message-ID: Subject: [PATCH v2] libstdc++: Do not use pthread_mutex_clocklock with ThreadSanitizer To: Mike Crowe Cc: "libstdc++" , gcc Patches , Thomas Rodgers X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="000000000000e8beea05fb712a7b" X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000e8beea05fb712a7b Content-Type: multipart/alternative; boundary="000000000000e8bee805fb712a79" --000000000000e8bee805fb712a79 Content-Type: text/plain; charset="UTF-8" On Thu, 11 May 2023 at 13:42, Jonathan Wakely wrote: > > > On Thu, 11 May 2023 at 13:19, Mike Crowe wrote: > >> However, ... >> >> > > diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 >> > > index 89e7f5f5f45..e2700b05ec3 100644 >> > > --- a/libstdc++-v3/acinclude.m4 >> > > +++ b/libstdc++-v3/acinclude.m4 >> > > @@ -4284,7 +4284,7 @@ >> AC_DEFUN([GLIBCXX_CHECK_PTHREAD_COND_CLOCKWAIT], [ >> > > [glibcxx_cv_PTHREAD_COND_CLOCKWAIT=no]) >> > > ]) >> > > if test $glibcxx_cv_PTHREAD_COND_CLOCKWAIT = yes; then >> > > - AC_DEFINE(_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT, 1, [Define if >> > > pthread_cond_clockwait is available in .]) >> > > + AC_DEFINE(_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT, >> (_GLIBCXX_TSAN==0), >> > > [Define if pthread_cond_clockwait is available in .]) >> > > fi >> >> TSan does appear to have an interceptor for pthread_cond_clockwait, even >> if >> it lacks the others. Does this mean that this part is unnecessary? >> > > Ah good point, thanks. I grepped for clocklock but not clockwait. > In fact it seems like we don't need to change _GLIBCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK either, because I don't get any tsan warnings for that. It doesn't have interceptors for pthread_rwlock_{rd,wr}lock, but it doesn't complain anyway (maybe it's simply not instrumenting the rwlock functions at all?!) So I'm now retesting with this version of the patch, which only touches the USE_PTHREAD_LOCKLOCK macro. Please take another look, thanks. --000000000000e8bee805fb712a79-- --000000000000e8beea05fb712a7b Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lhjluyoz0 Y29tbWl0IDRmYzE0ODI1YzEyNWVlY2UzMjk4MGRmMjFkMDlkYTM1ZTNkNWJh YzYKQXV0aG9yOiBKb25hdGhhbiBXYWtlbHkgPGp3YWtlbHlAcmVkaGF0LmNv bT4KRGF0ZTogICBUdWUgTWF5IDkgMDk6MzA6NDggMjAyMwoKICAgIGxpYnN0 ZGMrKzogRG8gbm90IHVzZSBwdGhyZWFkX211dGV4X2Nsb2NrbG9jayB3aXRo IFRocmVhZFNhbml0aXplcgogICAgCiAgICBBcyBub3RlZCBpbiBodHRwczov L2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvaXNzdWVzLzYyNjIzIHRo ZXJlIGFyZQogICAgbm8gdHNhbiBpbnRlcmNlcHRvcnMgZm9yIHNvbWUgb2Yg dGhlIG5ldyBQT1NJWC0xOjIwMnggQVBJcyBhZGRlZCBieQogICAgaHR0cHM6 Ly9hdXN0aW5ncm91cGJ1Z3MubmV0L3ZpZXcucGhwP2lkPTEyMTYgc28gdHNh biBnaXZlcyBmYWxzZQogICAgcG9zaXRpdmUgd2FybmluZ3MgZm9yIHRyeV9s b2NrX2ZvciBvbiB0aW1lZCBtdXRleGVzLgogICAgCiAgICBEaXNhYmxlIHRo ZSB1c2VzIG9mIHRoZSBuZXcgcHRocmVhZF9tdXRleF9jbG9ja2xvY2sgQVBJ IHdoZW4gdHNhbiBpcwogICAgYWN0aXZlLiBUaGlzIGNoYW5nZXMgdGhlIHNl bWFudGljcyBvZiB0aGUgdHJ5X2xvY2tfZm9yIGZ1bmN0aW9ucywKICAgIGJl Y2F1c2UgaXQgY2FuIGNoYW5nZSB3aGljaCBjbG9jayBpcyB1c2VkIGZvciB0 aGUgd2FpdC4gVGhpcyBtZWFucyB0aG9zZQogICAgZnVuY3Rpb25zIG1pZ2h0 IGJlIGFmZmVjdGVkIGJ5IHN5c3RlbSBjbG9jayBhZGp1c3RtZW50cyB3aGVu IHRzYW4gaXMKICAgIHVzZWQsIHdoZW4gdGhleSB3b3VsZCBub3QgYmUgYWZm ZWN0ZWQgb3RoZXJ3aXNlLgogICAgCiAgICBsaWJzdGRjKystdjMvQ2hhbmdl TG9nOgogICAgCiAgICAgICAgICAgICogYWNpbmNsdWRlLm00IChHTElCQ1hY X0NIRUNLX1BUSFJFQURfTVVURVhfQ0xPQ0tMT0NLKTogRGVmaW5lCiAgICAg ICAgICAgIF9HTElCQ1hYX1VTRV9QVEhSRUFEX01VVEVYX0NMT0NLTE9DSyBp biB0ZXJtcyBvZiBfR0xJQkNYWF9UU0FOLgogICAgICAgICAgICAqIGNvbmZp Z3VyZTogUmVnZW5lcmF0ZS4KCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMv YWNpbmNsdWRlLm00IGIvbGlic3RkYysrLXYzL2FjaW5jbHVkZS5tNAppbmRl eCA4OWU3ZjVmNWY0NS4uZGNlM2QxNmFhNWMgMTAwNjQ0Ci0tLSBhL2xpYnN0 ZGMrKy12My9hY2luY2x1ZGUubTQKKysrIGIvbGlic3RkYysrLXYzL2FjaW5j bHVkZS5tNApAQCAtNDMxNCw3ICs0MzE0LDcgQEAgQUNfREVGVU4oW0dMSUJD WFhfQ0hFQ0tfUFRIUkVBRF9NVVRFWF9DTE9DS0xPQ0tdLCBbCiAgICAgICBb Z2xpYmN4eF9jdl9QVEhSRUFEX01VVEVYX0NMT0NLTE9DSz1ub10pCiAgIF0p CiAgIGlmIHRlc3QgJGdsaWJjeHhfY3ZfUFRIUkVBRF9NVVRFWF9DTE9DS0xP Q0sgPSB5ZXM7IHRoZW4KLSAgICBBQ19ERUZJTkUoX0dMSUJDWFhfVVNFX1BU SFJFQURfTVVURVhfQ0xPQ0tMT0NLLCAxLCBbRGVmaW5lIGlmIHB0aHJlYWRf bXV0ZXhfY2xvY2tsb2NrIGlzIGF2YWlsYWJsZSBpbiA8cHRocmVhZC5oPi5d KQorICAgIEFDX0RFRklORShfR0xJQkNYWF9VU0VfUFRIUkVBRF9NVVRFWF9D TE9DS0xPQ0ssIChfR0xJQkNYWF9UU0FOPT0wKSwgW0RlZmluZSBpZiBwdGhy ZWFkX211dGV4X2Nsb2NrbG9jayBpcyBhdmFpbGFibGUgaW4gPHB0aHJlYWQu aD4uXSkKICAgZmkKIAogICBDWFhGTEFHUz0iJGFjX3NhdmVfQ1hYRkxBR1Mi Cg== --000000000000e8beea05fb712a7b--