From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by mx.groups.io with SMTP id smtpd.web10.52185.1590503850021608069 for ; Tue, 26 May 2020 07:37:30 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nuviainc-com.20150623.gappssmtp.com header.s=20150623 header.b=lpTkeOPZ; spf=pass (domain: nuviainc.com, ip: 209.85.221.65, mailfrom: leif@nuviainc.com) Received: by mail-wr1-f65.google.com with SMTP id r7so3944487wro.1 for ; Tue, 26 May 2020 07:37:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuviainc-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=6POWQNHmFewGSiEi/AgzkjGEnQdTqoV/uytNqFqQVaU=; b=lpTkeOPZa5fuv7PILkpn97YYSCD1ZXKv/VXs9gj49nA1VmF6B+T8jtY7xm+A4n4xZD lV1oxSzDn/0QeREsLuIw52Wifw+HDhCZO9hflfKnvioF8V18pCQjrvLR1WhWQGuU5GGa DIs/q3urr00ZYzT3KLF+Id25Zhe6aJzpIUfG8IHxfwcz3wuZHOBTaVPVaztIvFMg4LmP 0V5XL2fD/f0oJOqoPRtcaZPMkMg025m3oG6bmcurBdmsLenI0lEk2rkFveRb2QJ3U55A jVbMZtJWZDo89jvjMm6Ocdl4RE/JpQ17IcTp/iKiBtbp2y3Jn6UpnyNFlbi1WToHNvp4 K8Aw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=6POWQNHmFewGSiEi/AgzkjGEnQdTqoV/uytNqFqQVaU=; b=ohekHMEObEb+HXifIyHNXl2iYhoCgDapx0TUlDbNkN0SU0cEu63UikUDNxyOkbmaOc vhnYARdPgN3Xh44WBdA5IbK2921SHRLXPDzluoqZWCiprRTGS18sh32PWiEs04KV5gCz BalE1VBsFIcM33jZeyrntS/3YkpoY7LWWbCMbvLTq6yVWlU5Cds5QytsB+TKTZG/mrb8 a2b/0yRNfpx1VotSZqeJSLDFNl7uWFwTkar7RYNpyMBPf9gbuo1f2XN+0kBzWZNN75/9 mwEeL65/Psm2RK/PRVUZBTxYYJVnu942pipRo98PirBppF089dzt+PMyy1kHi86vZO/r KI+w== X-Gm-Message-State: AOAM530fCI+jO2VYts/0GWTP0azlnXonIiZL9ZN8E/t5rbQORu0wMvEM sPOz3VrcSLzXe3ppGXmtIkCgZg== X-Google-Smtp-Source: ABdhPJzAdKhF7npj3MAicbPRXkaVthxCnZO4uiQazrTr2t0k/hE4S/4Pjy3nYI0gXK4HomVulFuJ7g== X-Received: by 2002:adf:82cf:: with SMTP id 73mr6140263wrc.382.1590503848509; Tue, 26 May 2020 07:37:28 -0700 (PDT) Return-Path: Received: from vanye ([2001:470:1f09:12f0:b26e:bfff:fea9:f1b8]) by smtp.gmail.com with ESMTPSA id 94sm48698wrf.74.2020.05.26.07.37.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 May 2020 07:37:27 -0700 (PDT) Date: Tue, 26 May 2020 15:37:25 +0100 From: "Leif Lindholm" To: Ard Biesheuvel Cc: devel@edk2.groups.io, lersek@redhat.com, liming.gao@intel.com, philmd@redhat.com, mliska@suse.cz Subject: Re: [edk2-devel] [PATCH] MdePkg/Include: AARCH64: disable outline atomics on GCC 10.2+ Message-ID: <20200526143725.GM1923@vanye> References: <20200522101202.15016-1-ard.biesheuvel@arm.com> <36effdcd-91a7-da00-855d-570e64d650b8@redhat.com> <5587f0f0-9f30-62ce-9d07-5eed4ac6daa7@arm.com> MIME-Version: 1.0 In-Reply-To: <5587f0f0-9f30-62ce-9d07-5eed4ac6daa7@arm.com> User-Agent: Mutt/1.10.1 (2018-07-13) Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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. This isn't just affecting random crazies pulling latest toolchains down, but people using their distro defaults (native or cross). 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. / Leif