From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail8.parnet.fi (mail8.parnet.fi [77.234.108.134]) by sourceware.org (Postfix) with ESMTPS id E545D385703A; Fri, 6 Nov 2020 08:35:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E545D385703A Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=martin.st Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=martin@martin.st Received: from mail9.parnet.fi (mail9.parnet.fi [77.234.108.21]) by mail8.parnet.fi with ESMTP id 0A68Ywdt014481-0A68Ywdu014481; Fri, 6 Nov 2020 10:34:58 +0200 Received: from foo.martin.st (host-96-177.parnet.fi [77.234.96.177]) by mail9.parnet.fi (Postfix) with ESMTPS id 20CD7A143C; Fri, 6 Nov 2020 10:34:57 +0200 (EET) Date: Fri, 6 Nov 2020 10:34:56 +0200 (EET) From: =?ISO-8859-15?Q?Martin_Storsj=F6?= To: Liu Hao cc: libstdc++@gcc.gnu.org, GCC Patches Subject: Re: Fwd: libstdc++: Attempt to resolve PR83562 In-Reply-To: Message-ID: References: <3d535e7a-95dc-050f-b1d6-9802436cc669@126.com> <99113dab-c57d-cc83-3b5a-588378fe671c@126.com> User-Agent: Alpine 2.23 (DEB 453 2020-06-18) MIME-Version: 1.0 X-FE-Policy-ID: 3:14:2:SYSTEM X-Spam-Status: No, score=-5.1 required=5.0 tests=BAYES_00, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, KAM_NUMSUBJECT, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8BIT X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Nov 2020 08:35:08 -0000 On Fri, 6 Nov 2020, Liu Hao via Gcc-patches wrote: > 在 2020/10/29 下午3:56, Liu Hao 写道: >> I forward it here for comments. >> >> Basing on the behavior of both GCC and Clang, `__cxa_thread_atexit` is used to register the >> destructor of thread_local objects directly, suggesting the first parameter should have `__thiscall` >> convention. >> >> libstdc++ used the default `__cdecl` convention and caused crashes on 1686-w64-mingw32 (see >> PR83562). But to my surprise, libcxxabi uses `__cdecl` too [1], but I haven't heard any of relevant >> reports so far. >> >> Original patch is attached in case you can't find it in gcc-patches. >> FWIW, this patch looks good and correct to me, from a mingw perspective. // Martin