public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Laszlo Ersek" <lersek@redhat.com>
To: Ard Biesheuvel <ard.biesheuvel@arm.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 18:18:43 +0200	[thread overview]
Message-ID: <0420cc47-ed41-54b9-b5cf-cf722c40ebfe@redhat.com> (raw)
In-Reply-To: <75feab5d-c7c9-972f-4201-0dd6c4280569@arm.com>

On 08/31/20 16:37, Ard Biesheuvel wrote:

> Not sure how Leif feels about this, but i wouldn't mind retaining
> GCC48 support only for IA32/X64.

I've never considered GCC48 usable for ARM/AARCH64. I already use GCC48
for IA32/X64 only.

Anyway... it looks like I am able to consume gcc-9
("devtoolset-9-gcc-9.3.1-2.el7.x86_64") and compatible binutils
("devtoolset-9-binutils-2.32-16.el7.x86_64"), for building edk2 with the
GCC5 toolchain tag on RHEL7. I've done a few tests with OVMF; nothing
seems to break.

> 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.

You're not wrong -- I'd just like to clarify that "prefer" is not always
a simple personal choice. Building gcc + binutils from source (and
finding the right versions in the first place) is traditionally not one
of the easier "I'll just build this for myself" endeavors. (With gcc
rebuilding itself several times etc.)

Furthermore, given that "devtoolset-9" is a "software collection"
(managed by the "scl" cmdline utility) at least in my env, its usage is
*really* inconvenient in some circumstances. It modifies a bunch of
environment variables (of course), but (AIUI) the recommended /
supported end-user interface is to let "scl" start a command or subshell
for you. The mode when it outputs a bunch of "export" statements for
one's shell to "source" requires gymnastics, and it does not seem
officially supported. I find it unfortunate that it wants to become the
parent of whatever I'm trying to run. Add in the fact that single-line
invocations require unwieldy quoting:

"""
       scl enable example 'less --version'
              runs command 'less --version' in the environment with collection 'example' enabled

       scl enable foo bar bash
              runs bash instance with foo and bar Software Collections enabled
"""

Obviously the following form would be preferred:

  scl enable example -- less --version

Because this form would not require quoting, just prefixing.

Anyway... I've now hacked those scripts of mine that needed hacking, so
I guess I'm no longer tied to GCC48 for IA32/X64 either.

Thanks,
Laszlo


  reply	other threads:[~2020-08-31 16:18 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
2020-08-31 16:18                       ` Laszlo Ersek [this message]
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=0420cc47-ed41-54b9-b5cf-cf722c40ebfe@redhat.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