public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Ard Biesheuvel" <ard.biesheuvel@arm.com>
To: Laszlo Ersek <lersek@redhat.com>, Leif Lindholm <leif@nuviainc.com>
Cc: Pierre Gondois <Pierre.Gondois@arm.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>,
	"bob.c.feng@intel.com" <bob.c.feng@intel.com>,
	"liming.gao@intel.com" <liming.gao@intel.com>,
	Tomas Pilar <Tomas.Pilar@arm.com>, nd <nd@arm.com>
Subject: Re: [edk2-devel] [PATCH V2 2/2] BaseTools: Factorize GCC flags
Date: Mon, 31 Aug 2020 17:37:51 +0300	[thread overview]
Message-ID: <75feab5d-c7c9-972f-4201-0dd6c4280569@arm.com> (raw)
In-Reply-To: <ea1e8e5f-5b02-99bc-c2c6-3f130db1ac46@redhat.com>

On 8/31/20 4:03 PM, Laszlo Ersek wrote:
> On 08/31/20 15:22, Ard Biesheuvel wrote:
> 
>> mainline EDK2 is arguably a development tree
> 
> I agree.
> 
>> not a stable production tree for ~5 year old firmware builds
> 
> I agree with that too.
> 
> But I don't think GCC48 is "holding back" edk2. I don't know of a
> firmware feature that suffers because I'd like to be able to build the
> tree with GCC48.
> 

True.

> (LTO is not a firmware feature; and NOOPT builds, which are important,
> don't / shouldn't enable LTO anyway.)
> 
> I do agree that maintaining the BaseTools stuff that's related to GCC48
> is a burden, technically speaking. Is it a big burden? Should I attempt
> to handle related issues?
> 

Not necessarily. For obvious reasons, my mental picture of the 
historical situation is more clear when it comes to ARM, and GCC48 is 
the last version that uses the large code model, and which shipped with 
a version of binutils that was buggy, requiring extra restrictions wrt 
binary layout in GenFw) [which brings me to another GCC toolchain 
versioning issue, which is that binutils is released on a separate 
schedule, and the '48' in GCC48 does not clearly specify the binutils 
version]

Not sure how Leif feels about this, but i wouldn't mind retaining GCC48 
support only for IA32/X64. Or alternatively, make it a per-platform 
decision (which it ultimately is anyway, given that every platform ships 
with platform specific code that could have issues with older toolchains)

> Official Software Collections / Developer Toolset add-ons exist for
> RHEL7:
> 
>    https://developers.redhat.com/products/developertoolset/overview
>    https://access.redhat.com/documentation/en-us/red_hat_developer_toolset/9/html/user_guide/chap-red_hat_developer_toolset#sect-Red_Hat_Developer_Toolset-Compatibility
> 
> I've played with them in the past. They weren't a good fit for me, as I
> recall. Anyway, I can check them out again, if I must.
> 
>> and so I do think we should get rid of GCC48 even before RHEL7 goes
>> EOL.
> 
> We might want to explore the Debian / Ubuntu status too (LTS).
> 

Agreed. But one final remark on the distro/system toolchain situation: 
distros have good reasons for sticking with a single GCC version to 
build the world, but I wonder if any of them hold for UEFI builds such 
as OVMF, which runs entirely in its own context, and is mangled by GenFw 
so the ELF objects are never even consumed directly. So as I see it, the 
*only* benefit of retaining GCC48 support is for the convenience of 
developers that use 'mature' distros like RHEL 7 and prefer to use the 
compiler that happens to be installed. I am not saying this is not a 
good enough reason, just something we have to realize.





  reply	other threads:[~2020-08-31 14:37 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-07  8:35 [PATCH V2 0/2] Add gcc flag for void* pointer arithmetics PierreGondois
2020-07-07  8:35 ` [PATCH V2 1/2] BaseTools: Add gcc flag to warn on void* pointer arithmetic PierreGondois
2020-07-16  9:07   ` [edk2-devel] " Yuwei Chen
2020-07-20  4:10   ` Bob Feng
2020-07-22 18:05     ` [edk2-devel] " Leif Lindholm
2020-07-22 21:13       ` Andrew Fish
2020-07-23  1:56       ` Bob Feng
2020-07-23  2:49         ` Andrew Fish
2020-07-23  9:33           ` Leif Lindholm
2020-07-24  3:56             ` Bob Feng
2020-07-24  9:01               ` PierreGondois
2020-07-24 11:05                 ` Leif Lindholm
2020-07-24 11:03               ` Leif Lindholm
2020-07-07  8:35 ` [PATCH V2 2/2] BaseTools: Factorize GCC flags PierreGondois
2020-07-20  4:11   ` Bob Feng
2020-07-30 12:08     ` [edk2-devel] " Leif Lindholm
2020-07-22 11:03   ` Laszlo Ersek
2020-07-22 11:24     ` Laszlo Ersek
2020-08-26 16:42     ` Laszlo Ersek
2020-08-27  8:32       ` PierreGondois
2020-08-27 14:55         ` Laszlo Ersek
2020-08-27 15:25           ` Leif Lindholm
2020-08-28 16:56             ` Laszlo Ersek
2020-08-28 19:15               ` Leif Lindholm
2020-08-31 13:22                 ` Ard Biesheuvel
2020-08-31 13:43                   ` 回复: " gaoliming
2020-08-31 14:03                   ` Laszlo Ersek
2020-08-31 14:37                     ` Ard Biesheuvel [this message]
2020-08-31 16:18                       ` Laszlo Ersek
2020-08-31 16:27                         ` Laszlo Ersek
2020-08-31 17:14                           ` Ard Biesheuvel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=75feab5d-c7c9-972f-4201-0dd6c4280569@arm.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox