Message ID | 20161123023643.7106-2-konrad@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 2016-11-22 18:36:43, Konrad Rzeszutek Wilk wrote: > From Laszlo: > " change the catch-all (*) to GCC5, from GCC44 > - remove the (5.*.*) pattern from GCC49 > - add a branch (with multiple patterns if necessary) for gcc-4.3 and > earlier to exit with an error message / failure (those compiler > versions are unsupported)" For future reference, I'd suggest this for the formatting of your commit message body. v2: * Changes suggested by Laszlo: - change the catch-all (*) to GCC5, from GCC44 - remove the (5.*.*) pattern from GCC49 - generate error for GCC < 4.4 Patch is Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> I'll let Laszlo take a look too. Thanks for the contribution! -Jordan > Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=62 > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Konrad Rzeszutek Wilk <konrad@kernel.org> > --- > v1: First submission > v2: Redo it per Laszlo suggestion. > > OvmfPkg/build.sh | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/OvmfPkg/build.sh b/OvmfPkg/build.sh > index eb5eb73..cab7c70 100755 > --- a/OvmfPkg/build.sh > +++ b/OvmfPkg/build.sh > @@ -83,6 +83,13 @@ case `uname` in > Linux*) > gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}') > case $gcc_version in > + 4.1.[0-0].*|4.2.*|4.3.*) > + echo OvmfPkg requires GCC4.4 or later > + exit 1 > + ;; > + 4.4.*) > + TARGET_TOOLS=GCC44 > + ;; > 4.5.*) > TARGET_TOOLS=GCC45 > ;; > @@ -95,11 +102,11 @@ case `uname` in > 4.8.*) > TARGET_TOOLS=GCC48 > ;; > - 4.9.*|4.1[0-9].*|5.*.*) > + 4.9.*) > TARGET_TOOLS=GCC49 > ;; > *) > - TARGET_TOOLS=GCC44 > + TARGET_TOOLS=GCC5 > ;; > esac > esac > -- > 2.9.3 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel
On 11/23/16 03:36, Konrad Rzeszutek Wilk wrote: > From Laszlo: > " change the catch-all (*) to GCC5, from GCC44 > - remove the (5.*.*) pattern from GCC49 > - add a branch (with multiple patterns if necessary) for gcc-4.3 and > earlier to exit with an error message / failure (those compiler > versions are unsupported)" > > Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=62 > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Konrad Rzeszutek Wilk <konrad@kernel.org> > --- > v1: First submission > v2: Redo it per Laszlo suggestion. > > OvmfPkg/build.sh | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/OvmfPkg/build.sh b/OvmfPkg/build.sh > index eb5eb73..cab7c70 100755 > --- a/OvmfPkg/build.sh > +++ b/OvmfPkg/build.sh > @@ -83,6 +83,13 @@ case `uname` in > Linux*) > gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}') > case $gcc_version in > + 4.1.[0-0].*|4.2.*|4.3.*) * The [0-0] bracketed expression will work as expected, but it's somewhat unusual :) Is it intentional? * If it's a typo, are you okay if I replace it with a plain 0 on commit? * Also, IIRC, Olaf considered pre-4.0 gcc releases as well (rejecting them of course), which is sort of meant as part of "gcc-4.3 and earlier". But, given your extensive testing with old distros (thanks for that!), I think it's safe to ignore pre-4.0 gcc releases altogether. Reviewed-by: Laszlo Ersek <lersek@redhat.com> Thanks! Laszlo > + echo OvmfPkg requires GCC4.4 or later > + exit 1 > + ;; > + 4.4.*) > + TARGET_TOOLS=GCC44 > + ;; > 4.5.*) > TARGET_TOOLS=GCC45 > ;; > @@ -95,11 +102,11 @@ case `uname` in > 4.8.*) > TARGET_TOOLS=GCC48 > ;; > - 4.9.*|4.1[0-9].*|5.*.*) > + 4.9.*) > TARGET_TOOLS=GCC49 > ;; > *) > - TARGET_TOOLS=GCC44 > + TARGET_TOOLS=GCC5 > ;; > esac > esac >
On 11/23/16 15:55, Laszlo Ersek wrote: > On 11/23/16 03:36, Konrad Rzeszutek Wilk wrote: >> From Laszlo: >> " change the catch-all (*) to GCC5, from GCC44 >> - remove the (5.*.*) pattern from GCC49 >> - add a branch (with multiple patterns if necessary) for gcc-4.3 and >> earlier to exit with an error message / failure (those compiler >> versions are unsupported)" >> >> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=62 >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Konrad Rzeszutek Wilk <konrad@kernel.org> >> --- >> v1: First submission >> v2: Redo it per Laszlo suggestion. >> >> OvmfPkg/build.sh | 11 +++++++++-- >> 1 file changed, 9 insertions(+), 2 deletions(-) >> >> diff --git a/OvmfPkg/build.sh b/OvmfPkg/build.sh >> index eb5eb73..cab7c70 100755 >> --- a/OvmfPkg/build.sh >> +++ b/OvmfPkg/build.sh >> @@ -83,6 +83,13 @@ case `uname` in >> Linux*) >> gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}') >> case $gcc_version in >> + 4.1.[0-0].*|4.2.*|4.3.*) > > * The [0-0] bracketed expression will work as expected, but it's > somewhat unusual :) Is it intentional? > > * If it's a typo, are you okay if I replace it with a plain 0 on commit? On a second thought, perhaps you meant 4.0.*|4.1.*|4.2.*|4.3.*) or 4.[0-3].*) If you wish to re-submit for this, we could consider those pre-4 releases as well: [1-3].*|4.[0-3].*) Thanks! Laszlo > * Also, IIRC, Olaf considered pre-4.0 gcc releases as well (rejecting > them of course), which is sort of meant as part of "gcc-4.3 and > earlier". But, given your extensive testing with old distros (thanks for > that!), I think it's safe to ignore pre-4.0 gcc releases altogether. > > Reviewed-by: Laszlo Ersek <lersek@redhat.com> > > Thanks! > Laszlo > >> + echo OvmfPkg requires GCC4.4 or later >> + exit 1 >> + ;; >> + 4.4.*) >> + TARGET_TOOLS=GCC44 >> + ;; >> 4.5.*) >> TARGET_TOOLS=GCC45 >> ;; >> @@ -95,11 +102,11 @@ case `uname` in >> 4.8.*) >> TARGET_TOOLS=GCC48 >> ;; >> - 4.9.*|4.1[0-9].*|5.*.*) >> + 4.9.*) >> TARGET_TOOLS=GCC49 >> ;; >> *) >> - TARGET_TOOLS=GCC44 >> + TARGET_TOOLS=GCC5 >> ;; >> esac >> esac >> >
On Wed, Nov 23, 2016 at 03:55:11PM +0100, Laszlo Ersek wrote: > On 11/23/16 03:36, Konrad Rzeszutek Wilk wrote: > > From Laszlo: > > " change the catch-all (*) to GCC5, from GCC44 > > - remove the (5.*.*) pattern from GCC49 > > - add a branch (with multiple patterns if necessary) for gcc-4.3 and > > earlier to exit with an error message / failure (those compiler > > versions are unsupported)" > > > > Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=62 > > Contributed-under: TianoCore Contribution Agreement 1.0 > > Signed-off-by: Konrad Rzeszutek Wilk <konrad@kernel.org> > > --- > > v1: First submission > > v2: Redo it per Laszlo suggestion. > > > > OvmfPkg/build.sh | 11 +++++++++-- > > 1 file changed, 9 insertions(+), 2 deletions(-) > > > > diff --git a/OvmfPkg/build.sh b/OvmfPkg/build.sh > > index eb5eb73..cab7c70 100755 > > --- a/OvmfPkg/build.sh > > +++ b/OvmfPkg/build.sh > > @@ -83,6 +83,13 @@ case `uname` in > > Linux*) > > gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}') > > case $gcc_version in > > + 4.1.[0-0].*|4.2.*|4.3.*) > > * The [0-0] bracketed expression will work as expected, but it's > somewhat unusual :) Is it intentional? > > * If it's a typo, are you okay if I replace it with a plain 0 on commit? It is a typo! It was 0-9 but I forgot to type 'git commit --amend'. Argh! Are you OK doing: s/[0-0]/[0-9]/ when you commit or would you prefer I repost this with this in _and_ with your Reviewed-by? > > * Also, IIRC, Olaf considered pre-4.0 gcc releases as well (rejecting > them of course), which is sort of meant as part of "gcc-4.3 and > earlier". But, given your extensive testing with old distros (thanks for Oh gosh. > that!), I think it's safe to ignore pre-4.0 gcc releases altogether. Yes :-) > > Reviewed-by: Laszlo Ersek <lersek@redhat.com> > > Thanks! > Laszlo > > > + echo OvmfPkg requires GCC4.4 or later > > + exit 1 > > + ;; > > + 4.4.*) > > + TARGET_TOOLS=GCC44 > > + ;; > > 4.5.*) > > TARGET_TOOLS=GCC45 > > ;; > > @@ -95,11 +102,11 @@ case `uname` in > > 4.8.*) > > TARGET_TOOLS=GCC48 > > ;; > > - 4.9.*|4.1[0-9].*|5.*.*) > > + 4.9.*) > > TARGET_TOOLS=GCC49 > > ;; > > *) > > - TARGET_TOOLS=GCC44 > > + TARGET_TOOLS=GCC5 > > ;; > > esac > > esac > > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > https://lists.xen.org/xen-devel
On 11/23/16 16:01, Konrad Rzeszutek Wilk wrote: > On Wed, Nov 23, 2016 at 03:55:11PM +0100, Laszlo Ersek wrote: >> On 11/23/16 03:36, Konrad Rzeszutek Wilk wrote: >>> From Laszlo: >>> " change the catch-all (*) to GCC5, from GCC44 >>> - remove the (5.*.*) pattern from GCC49 >>> - add a branch (with multiple patterns if necessary) for gcc-4.3 and >>> earlier to exit with an error message / failure (those compiler >>> versions are unsupported)" >>> >>> Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=62 >>> Contributed-under: TianoCore Contribution Agreement 1.0 >>> Signed-off-by: Konrad Rzeszutek Wilk <konrad@kernel.org> >>> --- >>> v1: First submission >>> v2: Redo it per Laszlo suggestion. >>> >>> OvmfPkg/build.sh | 11 +++++++++-- >>> 1 file changed, 9 insertions(+), 2 deletions(-) >>> >>> diff --git a/OvmfPkg/build.sh b/OvmfPkg/build.sh >>> index eb5eb73..cab7c70 100755 >>> --- a/OvmfPkg/build.sh >>> +++ b/OvmfPkg/build.sh >>> @@ -83,6 +83,13 @@ case `uname` in >>> Linux*) >>> gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}') >>> case $gcc_version in >>> + 4.1.[0-0].*|4.2.*|4.3.*) >> >> * The [0-0] bracketed expression will work as expected, but it's >> somewhat unusual :) Is it intentional? >> >> * If it's a typo, are you okay if I replace it with a plain 0 on commit? > > It is a typo! It was 0-9 but I forgot to type 'git commit --amend'. Argh! > > Are you OK doing: > > s/[0-0]/[0-9]/ > > when you commit or would you prefer I repost this with this in _and_ with > your Reviewed-by? I highly appreciate that you are willing to repost :) So yes, I'd like to request you do that. However, since you are willing to repost :), I also ask that you to reformat the commit message as suggested by Jordan: https://lists.01.org/pipermail/edk2-devel/2016-November/005087.html and to update the line that you are about to modify anyway, to: [1-3].*|4.[0-3].*) https://lists.01.org/pipermail/edk2-devel/2016-November/005129.html If you agree, of course. (I'm not trying to be an annoyance on purpose.) Thank you for working on this! Laszlo > >> >> * Also, IIRC, Olaf considered pre-4.0 gcc releases as well (rejecting >> them of course), which is sort of meant as part of "gcc-4.3 and >> earlier". But, given your extensive testing with old distros (thanks for > > Oh gosh. >> that!), I think it's safe to ignore pre-4.0 gcc releases altogether. > > Yes :-) >> >> Reviewed-by: Laszlo Ersek <lersek@redhat.com> >> >> Thanks! >> Laszlo >> >>> + echo OvmfPkg requires GCC4.4 or later >>> + exit 1 >>> + ;; >>> + 4.4.*) >>> + TARGET_TOOLS=GCC44 >>> + ;; >>> 4.5.*) >>> TARGET_TOOLS=GCC45 >>> ;; >>> @@ -95,11 +102,11 @@ case `uname` in >>> 4.8.*) >>> TARGET_TOOLS=GCC48 >>> ;; >>> - 4.9.*|4.1[0-9].*|5.*.*) >>> + 4.9.*) >>> TARGET_TOOLS=GCC49 >>> ;; >>> *) >>> - TARGET_TOOLS=GCC44 >>> + TARGET_TOOLS=GCC5 >>> ;; >>> esac >>> esac >>> >> >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xen.org >> https://lists.xen.org/xen-devel
Hey! Changelog: v3: It is perfect! - Redid commit per Jordan suggestion - Redid the failure scenario per Laszlo suggestion - Redid the testing v2: - Redid it per Laszlo suggestion, added the URL to the bugzilla system - Tested it under more OSes This patch allows me to compile TianoCore under Fedora Core 25. I've also tested it (v2 and also this v3) under some more ancient distros, such as: Ubuntu 16.04.1 (GCC 5.4.0), uses GCC5 Debian 8.6 (GCC 4.9.2), uses GCC49 Fedora Core 13 (GCC 4.4.4), uses GCC44 RHEL6 (GCC 4.4.7), uses GCC44 And on earlier versions, such as RHEL5: [konrad@ol5 ovmf-dir]$ OvmfPkg/build.sh -a X64 -b RELEASE -n 4 Initializing workspace /home/konrad/ovmf-dir/BaseTools Loading previous configuration from /home/konrad/ovmf-dir/Conf/BuildEnv.sh WORKSPACE: /home/konrad/ovmf-dir EDK_TOOLS_PATH: /home/konrad/ovmf-dir/BaseTools CONF_PATH: /home/konrad/ovmf-dir/Conf OvmfPkg requires GCC4.4 or later [konrad@ol5 ovmf-dir]$ gcc --version gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54) [Oddly enough the previous run (v2) - on an different RHEL5 guest - had a different issue.] Konrad Rzeszutek Wilk (1): OvmfPkg/build.sh: Make GCC5 the default toolchain, catch GCC43 and earlier OvmfPkg/build.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/OvmfPkg/build.sh b/OvmfPkg/build.sh index eb5eb73..cab7c70 100755 --- a/OvmfPkg/build.sh +++ b/OvmfPkg/build.sh @@ -83,6 +83,13 @@ case `uname` in Linux*) gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}') case $gcc_version in + 4.1.[0-0].*|4.2.*|4.3.*) + echo OvmfPkg requires GCC4.4 or later + exit 1 + ;; + 4.4.*) + TARGET_TOOLS=GCC44 + ;; 4.5.*) TARGET_TOOLS=GCC45 ;; @@ -95,11 +102,11 @@ case `uname` in 4.8.*) TARGET_TOOLS=GCC48 ;; - 4.9.*|4.1[0-9].*|5.*.*) + 4.9.*) TARGET_TOOLS=GCC49 ;; *) - TARGET_TOOLS=GCC44 + TARGET_TOOLS=GCC5 ;; esac esac
From Laszlo: " change the catch-all (*) to GCC5, from GCC44 - remove the (5.*.*) pattern from GCC49 - add a branch (with multiple patterns if necessary) for gcc-4.3 and earlier to exit with an error message / failure (those compiler versions are unsupported)" Bugzilla: https://bugzilla.tianocore.org/show_bug.cgi?id=62 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Konrad Rzeszutek Wilk <konrad@kernel.org> --- v1: First submission v2: Redo it per Laszlo suggestion. OvmfPkg/build.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)