From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.81]) by mx.groups.io with SMTP id smtpd.web12.2492.1590570754559309495 for ; Wed, 27 May 2020 02:12:35 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=TVYUG84w; spf=pass (domain: redhat.com, ip: 207.211.31.81, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1590570753; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9w+1GKSfjp8yn+07ZtF965W9tgUdBlZEtf4MTiQCHEs=; b=TVYUG84w3vxREudW+Kc5l4OzOYfh644pPAsKXQH+vQJ6uKkGnfk5dkdQC0sBhEW+tqMs2r KQl1hIghFhH94tlRmjtNd7CqwcPTqEVAblQXnLNtd+NLt+z6KvrVFcnxRmt5QBuc/gsLpq 1OPXA61PNVRz9uPajg/6CiKGWLqPBuM= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-25-pAtpCeA6Nvyv1Qa2rQK17Q-1; Wed, 27 May 2020 05:12:27 -0400 X-MC-Unique: pAtpCeA6Nvyv1Qa2rQK17Q-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A65E780183C; Wed, 27 May 2020 09:12:25 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-113-77.ams2.redhat.com [10.36.113.77]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1A61510013D5; Wed, 27 May 2020 09:12:23 +0000 (UTC) Subject: Re: [edk2-devel] [PATCH] MdePkg/Include: AARCH64: disable outline atomics on GCC 10.2+ To: Leif Lindholm , Ard Biesheuvel Cc: devel@edk2.groups.io, liming.gao@intel.com, philmd@redhat.com, mliska@suse.cz References: <20200522101202.15016-1-ard.biesheuvel@arm.com> <36effdcd-91a7-da00-855d-570e64d650b8@redhat.com> <5587f0f0-9f30-62ce-9d07-5eed4ac6daa7@arm.com> <20200526143725.GM1923@vanye> From: "Laszlo Ersek" Message-ID: <0f2f90b9-e2fe-5658-e507-299a387e0ce5@redhat.com> Date: Wed, 27 May 2020 11:12:23 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20200526143725.GM1923@vanye> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit On 05/26/20 16:37, Leif Lindholm wrote: > On Sat, May 23, 2020 at 00:09:52 +0200, Ard Biesheuvel wrote: >>>>> diff --git a/MdePkg/Include/AArch64/ProcessorBind.h b/MdePkg/Include/AArch64/ProcessorBind.h >>>>> index 896bf273ac7a..a3ca8f09e51c 100644 >>>>> --- a/MdePkg/Include/AArch64/ProcessorBind.h >>>>> +++ b/MdePkg/Include/AArch64/ProcessorBind.h >>>>> @@ -24,6 +24,17 @@ >>>>> #pragma pack() >>>>> #endif >>>>> +#if defined(__GNUC__) && !defined(__clang__) >>>>> + >>>>> +// >>>>> +// Disable GCC outline atomics >>>>> +// Link: https://bugzilla.tianocore.org/show_bug.cgi?id=2723 >>>>> +// >>>>> +#if __GNUC__ > 10 || (__GNUC__ == 10 && __GNUC_MINOR__ >= 2) >>>>> +#pragma GCC target "no-outline-atomics" >>>>> +#endif >>>>> +#endif >>>>> + >>>>> #if defined(_MSC_EXTENSIONS) >>>>> // >>>> >>>> Reviewed-by: Laszlo Ersek >>>> >>>> But I think it should be merged later, after GCC 10.2 is out. >>>> >>>> (Obviously I don't "insist" that we follow this approach, I'm just OK >>>> with it.) >>> >>> Oh and I think both this patch and the assembly language implementation >>> for the atomics should be delayed after the stable tag. gcc-10 is a new >>> toolchain; so even if we don't introduce a new toolchain tag such as >>> GCC10 for it, whatever we do in order to make it work, that's feature >>> enablement in my book. >> >> Works for me. By the time the next stable tag comes around, early adopters >> that are now on GCC 10.1 will likely have moved to 10.2 by that time, and so >> we may not need the assembly patch at all. > > I'm not ecstatic that we'll be releasing the first stable tag known to > break with current toolchains. If this breakage affects "current toolchains", then why was only reported on 2020-May-19, four days into the soft feature freeze? > This isn't just affecting random crazies pulling latest toolchains > down, but people using their distro defaults (native or cross). ... "people using their distro defaults" to *not* build upstream edk2 until 2020-May-19, apparently. > I don't recall if 10.1 ended up being default in F32, but it was > definitely included. In Arch, it does appear default. > > Debian/Ubuntu are unaffected in their stable releases. > > I agree it's a transitional issue, but I would really prefer to have > the intrinsics included in the release. OK, let's delay the release then, by a few days. I agree the present patch may qualify as a bugfix, but the other patch with the assembly language intrinsics doesn't. If it's really that important to have in the upcoming stable tag, then it's worth delaying the tag for. I'm fine delaying the release for it; it wouldn't be without precedent. Also, I think Ard's assembly language patch needs a Tested-by from Gary at the least (reporter of TianoCore#2723). Please reach out to him in that thread. ... More precisely, please *ping* Gary for a Tested-by in that thread, because Ard CC'd him from the start, and even credited Gary in the commit message. Thanks, Laszlo