public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH 00/26] remove the GCC44 through GCC47 toolchains
@ 2019-01-03  2:47 Laszlo Ersek
  2019-01-03  2:47 ` [PATCH 01/26] EmulatorPkg: require GCC48 or later Laszlo Ersek
                   ` (27 more replies)
  0 siblings, 28 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:47 UTC (permalink / raw)
  To: edk2-devel-01
  Cc: Andrew Fish, Anthony Perard, Ard Biesheuvel, Bob Feng, Gang Wei,
	Jian Wang, Jordan Justen, Julien Grall, Leif Lindholm, Liming Gao,
	Marvin Haeuser, Michael D Kinney, Ruiyu Ni, Ting Ye, Yi Qian,
	Yonghong Zhu, Zailiang Sun

Repo:   https://github.com/lersek/edk2.git
Branch: drop_gcc44_gcc47_tiano1377

(0) This series is meant as an alternative to

  [edk2] [Patch 0/5] Remove unused tool chains in tools_def.template
  http://mid.mail-archive.com/20181224150107.28624-1-liming.gao@intel.com

Out of that series, patch #1 (from Ard) is included here, while patch #3
is reimplemented from scratch (making up the bulk of this series) in a
way that at least I would be capable of reviewing. The rest of the
patches from Liming's series (#2, #4, #5) are out of scope for me, and I
ask for them to be rebased on top of this series (if this one is
acceptable).

Thus, this series intends to address

  https://bugzilla.tianocore.org/show_bug.cgi?id=1377

only in part.

(1) For locating GCC44 references, I used the following grep command:

  git grep -H -n -i -E 'gcc[- ]?4\.?[4567]'

That is,
- "gcc" (case-insensitively),
- optionally followed by hyphen or space,
- followed by "4",
- optionally followed by ".",
- followed by 4 through 7.

One hit that persists after this patch set is in
"AppPkg/Applications/Python/Python-2.7.2/Lib/distutils/tests/test_unixccompiler.py".
It's a bundled software distribution so I didn't touch it.

Another hit that remains is "StdLib/Include/sys/EfiCdefs.h"; see (2) for
that.

(2) __GNUC_PREREQ__ is used in StdLib/Include. But StdLib/Include checks
for ancient GCC versions too (such as 2.0), so it clearly hasn't been
kept in sync with the minimum edk2 requirement over time. I didn't touch
it.

(3) __GNUC_MINOR__ is used in the following directories:

(3a) bundled Python:

- AppPkg/Applications/Python/PyMod-2.7.2
- AppPkg/Applications/Python/Python-2.7.10
- AppPkg/Applications/Python/Python-2.7.2

(3b) bundled Brotli:

- BaseTools/Source/C/BrotliCompress/include/brotli
- MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/

(3c) bundled LZMA:

- BaseTools/Source/C/LzmaCompress/Sdk/C/
- IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/Sdk/C/
- MdeModulePkg/Library/LzmaCustomDecompressLib/Sdk/C/

(3d) bundled Lua / Lua interface:

- StdLib/Include/Lua/

(3e) Same as (2):

- StdLib/Include/sys/EfiCdefs.h

(3f) bundled OpenSSL / OpenSSL interface:

- CryptoPkg/Library/Include/openssl/opensslconf.h

I didn't touch any of these.

(4) I built OVMF with GCC48, and ArmVirtQemu with GCC5, using "-n 1",
and compared the build logs, before/after.

(For the comparison, I first sorted the build logs: I didn't care about
the relative order between the commands, I just wanted the sets of
commands to be comparable. Sorting was necessary because even with "-n
1", modules weren't built in the same order, and that interfered with
diffing.)

The sorted logs were identical, except for any time stamps / durations
that had been logged.

Cc: Andrew Fish <afish@apple.com>
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Gang Wei <gang.wei@intel.com>
Cc: Jian Wang <jian.j.wang@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Julien Grall <julien.grall@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Marvin Haeuser <Marvin.Haeuser@outlook.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Ting Ye <ting.ye@intel.com>
Cc: Yi Qian <yi.qian@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Cc: Zailiang Sun <zailiang.sun@intel.com>

Thanks,
Laszlo

Ard Biesheuvel (1):
  BaseTools/Conf/tools_def.template: drop ARM/AARCH support from
    GCC46/GCC47

Laszlo Ersek (25):
  EmulatorPkg: require GCC48 or later
  OvmfPkg: require GCC48 or later
  Vlv2TbltDevicePkg: assume GCC48 or later
  BaseTools/tools_def.template: fix up LF-only line terminator
  BaseTools/tools_def.template: strip trailing whitespace
  BaseTools/tools_def.template: remove GCC48_IA32_X64_DLINK_COMMON
    dead-end
  BaseTools/tools_def.template: remove GCC47 leaf definitions
  BaseTools/tools_def.template: propagate loss of GCC47 references
  BaseTools/tools_def.template: remove GCC47 documentation
  BaseTools/tools_def.template: remove GCC46 leaf definitions
  BaseTools/tools_def.template: propagate loss of GCC46 references
  BaseTools/tools_def.template: remove GCC46 documentation
  BaseTools/tools_def.template: remove GCC45 leaf definitions
  BaseTools/tools_def.template: propagate loss of GCC45 references
  BaseTools/tools_def.template: remove GCC45 documentation
  BaseTools/tools_def.template: remove GCC44 leaf definitions
  BaseTools/tools_def.template: propagate loss of GCC44 references
  BaseTools/tools_def.template: rename GCC44_ALL_CC_FLAGS to
    GCC48_ALL_CC_FLAGS
  BaseTools/tools_def.template: eliminate GCC44_IA32_X64_DLINK_FLAGS
  BaseTools/tools_def.template: rename GCC44_IA32_X64_DLINK_COMMON to
    GCC48_IA32_X64_DLINK_COMMON
  BaseTools/tools_def.template: remove comment about GCC44 +
    LzmaF86Compress
  BaseTools/tools_def.template: remove GCC44 documentation
  ArmPkg/ArmSoftFloatLib: drop build flags specific to GCC46/GCC47
  CryptoPkg/BaseCryptLib: drop build flags specific to GCC44
  Revert "MdePkg: avoid __builtin_unreachable() on GCC v4.4"

 ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf |   2 -
 BaseTools/Conf/tools_def.template                  | 638 +++-----------------
 CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf    |   2 -
 CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf     |   2 -
 CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf |   2 -
 CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf     |   1 -
 EmulatorPkg/Unix/Host/Host.inf                     |   4 -
 EmulatorPkg/build.sh                               |  18 +-
 MdePkg/Include/Base.h                              |   3 +-
 OvmfPkg/README                                     |   6 +-
 OvmfPkg/build.sh                                   |  16 +-
 Vlv2TbltDevicePkg/bld_vlv.sh                       |  14 +-
 12 files changed, 81 insertions(+), 627 deletions(-)

-- 
2.19.1.3.g30247aa5d201



^ permalink raw reply	[flat|nested] 39+ messages in thread

* [PATCH 01/26] EmulatorPkg: require GCC48 or later
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
@ 2019-01-03  2:47 ` Laszlo Ersek
  2019-01-03  2:47 ` [PATCH 02/26] OvmfPkg: " Laszlo Ersek
                   ` (26 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:47 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Andrew Fish, Jordan Justen, Ruiyu Ni

We're about to remove BaseTools support for GCC44..GCC47. Reject those gcc
versions cleanly in "EmulatorPkg/build.sh", and drop build flags too that
are specific to them.

No GCC44..GCC47 references remain under EmulatorPkg after this patch.

Cc: Andrew Fish <afish@apple.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
    I tested that, after this patch, "build.sh" successfully builds
    EmulatorPkg with GCC48. I did no runtime tests, nor did I test the
    rejection path with any of gcc-4.4 through gcc-4.7.

 EmulatorPkg/Unix/Host/Host.inf |  4 ----
 EmulatorPkg/build.sh           | 18 +++---------------
 2 files changed, 3 insertions(+), 19 deletions(-)

diff --git a/EmulatorPkg/Unix/Host/Host.inf b/EmulatorPkg/Unix/Host/Host.inf
index 9bcdfd85332b..6db269842e1b 100644
--- a/EmulatorPkg/Unix/Host/Host.inf
+++ b/EmulatorPkg/Unix/Host/Host.inf
@@ -124,10 +124,6 @@ [BuildOptions]
    GCC:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/Host -m64 -L/usr/X11R6/lib
    GCC:*_GCC5_X64_DLINK_FLAGS == -flto -o $(BIN_DIR)/Host -m64 -L/usr/X11R6/lib
    GCC:*_*_X64_CC_FLAGS == -m64 -g -fshort-wchar -fno-strict-aliasing -Wall -malign-double -idirafter/usr/include -c -include $(DEST_DIR_DEBUG)/AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
-   GCC:*_GCC44_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
-   GCC:*_GCC45_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
-   GCC:*_GCC46_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
-   GCC:*_GCC47_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
    GCC:*_GCC48_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
    GCC:*_GCC49_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))"
    GCC:*_GCC5_X64_CC_FLAGS = "-DEFIAPI=__attribute__((ms_abi))" -flto -DUSING_LTO -Os
diff --git a/EmulatorPkg/build.sh b/EmulatorPkg/build.sh
index 9ed59387d197..2daaaadcd421 100755
--- a/EmulatorPkg/build.sh
+++ b/EmulatorPkg/build.sh
@@ -48,7 +48,7 @@ PLATFORMFILE=
 LAST_ARG=
 RUN_EMULATOR=no
 CLEAN_TYPE=none
-TARGET_TOOLS=GCC44
+TARGET_TOOLS=GCC48
 NETWORK_SUPPORT=
 BUILD_NEW_SHELL=
 BUILD_FAT=
@@ -93,22 +93,10 @@ case `uname` in
 
     gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}')
     case $gcc_version in
-      [1-3].*|4.[0-3].*)
-        echo EmulatorPkg requires GCC4.4 or later
+      [1-3].*|4.[0-7].*)
+        echo EmulatorPkg requires GCC4.8 or later
         exit 1
         ;;
-      4.4.*)
-        TARGET_TOOLS=GCC44
-        ;;
-      4.5.*)
-        TARGET_TOOLS=GCC45
-        ;;
-      4.6.*)
-        TARGET_TOOLS=GCC46
-        ;;
-      4.7.*)
-        TARGET_TOOLS=GCC47
-        ;;
       4.8.*)
         TARGET_TOOLS=GCC48
         ;;
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 02/26] OvmfPkg: require GCC48 or later
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
  2019-01-03  2:47 ` [PATCH 01/26] EmulatorPkg: require GCC48 or later Laszlo Ersek
@ 2019-01-03  2:47 ` Laszlo Ersek
  2019-01-03  9:33   ` Ard Biesheuvel
  2019-01-03  2:47 ` [PATCH 03/26] Vlv2TbltDevicePkg: assume " Laszlo Ersek
                   ` (25 subsequent siblings)
  27 siblings, 1 reply; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:47 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Anthony Perard, Ard Biesheuvel, Jordan Justen, Julien Grall

We're about to remove BaseTools support for GCC44..GCC47. Reject those gcc
versions cleanly in "OvmfPkg/build.sh". In "OvmfPkg/README", upgrade any
mentions of the same gcc versions to GCC48.

No GCC44..GCC47 references remain under OvmfPkg after this patch.

Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Julien Grall <julien.grall@linaro.org>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
    I tested that, after this patch, "build.sh" successfully builds OvmfPkg
    with GCC48. I did no runtime tests, nor did I test the rejection path
    with any of gcc-4.4 through gcc-4.7.

 OvmfPkg/README   |  6 +++---
 OvmfPkg/build.sh | 16 ++--------------
 2 files changed, 5 insertions(+), 17 deletions(-)

diff --git a/OvmfPkg/README b/OvmfPkg/README
index 7415419d2dd7..68ce0750af19 100644
--- a/OvmfPkg/README
+++ b/OvmfPkg/README
@@ -115,8 +115,8 @@ $ OvmfPkg/build.sh -a X64 qemu
 And to run a 64-bit UEFI bootable ISO image:
 $ OvmfPkg/build.sh -a X64 qemu -cdrom /path/to/disk-image.iso
 
-To build a 32-bit OVMF without debug messages using GCC 4.5:
-$ OvmfPkg/build.sh -a IA32 -b RELEASE -t GCC45
+To build a 32-bit OVMF without debug messages using GCC 4.8:
+$ OvmfPkg/build.sh -a IA32 -b RELEASE -t GCC48
 
 === SMM support ===
 
@@ -406,7 +406,7 @@ volume image.
 
 If you build with the UNIXGCC toolchain, then debugging will be disabled
 due to larger image sizes being produced by the UNIXGCC toolchain. The
-first choice recommendation is to use GCC44 or newer instead.
+first choice recommendation is to use GCC48 or newer instead.
 
 If you must use UNIXGCC, then you can override the build options for
 particular libraries and modules in the .dsc to re-enable debugging
diff --git a/OvmfPkg/build.sh b/OvmfPkg/build.sh
index 682155202564..6821742e7acd 100755
--- a/OvmfPkg/build.sh
+++ b/OvmfPkg/build.sh
@@ -83,22 +83,10 @@ case `uname` in
   Linux*)
     gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}')
     case $gcc_version in
-      [1-3].*|4.[0-3].*)
-        echo OvmfPkg requires GCC4.4 or later
+      [1-3].*|4.[0-7].*)
+        echo OvmfPkg requires GCC4.8 or later
         exit 1
         ;;
-      4.4.*)
-        TARGET_TOOLS=GCC44
-        ;;
-      4.5.*)
-        TARGET_TOOLS=GCC45
-        ;;
-      4.6.*)
-        TARGET_TOOLS=GCC46
-        ;;
-      4.7.*)
-        TARGET_TOOLS=GCC47
-        ;;
       4.8.*)
         TARGET_TOOLS=GCC48
         ;;
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 03/26] Vlv2TbltDevicePkg: assume GCC48 or later
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
  2019-01-03  2:47 ` [PATCH 01/26] EmulatorPkg: require GCC48 or later Laszlo Ersek
  2019-01-03  2:47 ` [PATCH 02/26] OvmfPkg: " Laszlo Ersek
@ 2019-01-03  2:47 ` Laszlo Ersek
  2019-01-04  6:53   ` Sun, Zailiang
  2019-01-03  2:47 ` [PATCH 04/26] BaseTools/Conf/tools_def.template: drop ARM/AARCH support from GCC46/GCC47 Laszlo Ersek
                   ` (24 subsequent siblings)
  27 siblings, 1 reply; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:47 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Zailiang Sun, Yi Qian

We're about to remove BaseTools support for GCC44..GCC47. Bump the
assumption about the minimum gcc version to GCC48 in
"Vlv2TbltDevicePkg/bld_vlv.sh".

No GCC44..GCC47 references remain under Vlv2TbltDevicePkg after this
patch.

Cc: Zailiang Sun <zailiang.sun@intel.com>
Cc: Yi Qian <yi.qian@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
    Untested.

 Vlv2TbltDevicePkg/bld_vlv.sh | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

diff --git a/Vlv2TbltDevicePkg/bld_vlv.sh b/Vlv2TbltDevicePkg/bld_vlv.sh
index 538b3ef9d730..51d3acacb48b 100755
--- a/Vlv2TbltDevicePkg/bld_vlv.sh
+++ b/Vlv2TbltDevicePkg/bld_vlv.sh
@@ -179,23 +179,11 @@ sed -i '/^MAX_CONCURRENT_THREAD_NUMBER/d' Conf/target.txt
 
 gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}')
 case $gcc_version in
-    4.5.*)
-      TARGET_TOOLS=GCC45
-      ;;
-    4.6.*)
-      TARGET_TOOLS=GCC46
-      ;;
-    4.7.*)
-      TARGET_TOOLS=GCC47
-      ;;
-    4.8.*)
-      TARGET_TOOLS=GCC48
-      ;;
     4.9.*|4.1[0-9].*|5.*.*|6.*.*)
       TARGET_TOOLS=GCC49
       ;;
     *)
-      TARGET_TOOLS=GCC44
+      TARGET_TOOLS=GCC48
       ;;
 esac
 
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 04/26] BaseTools/Conf/tools_def.template: drop ARM/AARCH support from GCC46/GCC47
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (2 preceding siblings ...)
  2019-01-03  2:47 ` [PATCH 03/26] Vlv2TbltDevicePkg: assume " Laszlo Ersek
@ 2019-01-03  2:47 ` Laszlo Ersek
  2019-01-03  2:47 ` [PATCH 05/26] BaseTools/tools_def.template: fix up LF-only line terminator Laszlo Ersek
                   ` (23 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:47 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Ard Biesheuvel, Leif Lindholm, Liming Gao

From: Ard Biesheuvel <ard.biesheuvel@linaro.org>

This drops ARM and AARCH64 support from the GCC46 and GCC47 toolchain
definitions, which are on the list to be removed, along with VS2003,
VS2005, VS2008, VS2010, DDK3790, UNIXGCC, GCC44, GCC45, ELFGCC, CYGGCC,
ICC, ICC11 and MYTOOLS.

Since GCC46 and GCC47 are the only ones on that list that support ARM
and/or AARCH64, let's give Liming a hand and cover the ARM side of
things first, so that everything that remains to be removed is x86
only.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Liming Gao <liming.gao@intel.com>
[lersek@redhat.com: add bugzilla reference and CCs]
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
    This is a verbatim forward / repost of Ard's "[edk2] [PATCH]
    BaseTools/Conf/tools_def.template: drop ARM/AARCH support from
    GCC46/GCC47" at
    <http://mid.mail-archive.com/20181208093242.3313-1-ard.biesheuvel@linaro.org>,
    with the feedback tags picked up from the list. I've also added a
    bugzilla reference (as documented near the end of the commit message).

 BaseTools/Conf/tools_def.template | 143 ++------------------
 1 file changed, 14 insertions(+), 129 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index f7eb87af14c2..a2ab9680b0aa 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -368,13 +368,13 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                               Intel(r) ACPI Compiler from
 #                               https://acpica.org/downloads
 #   GCC46       -Linux,Windows-  Requires:
-#                             GCC 4.6 targeting x86_64-linux-gnu or arm-linux-gnueabi
+#                             GCC 4.6 targeting x86_64-linux-gnu
 #                        Optional:
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler from
 #                               https://acpica.org/downloads
 #   GCC47       -Linux,Windows-  Requires:
-#                             GCC 4.7 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi
+#                             GCC 4.7 targeting x86_64-linux-gnu
 #                        Optional:
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler from
@@ -4199,12 +4199,6 @@ DEFINE GCC46_IA32_DLINK2_FLAGS       = DEF(GCC45_IA32_DLINK2_FLAGS)
 DEFINE GCC46_X64_DLINK_FLAGS         = DEF(GCC45_X64_DLINK_FLAGS)
 DEFINE GCC46_X64_DLINK2_FLAGS        = DEF(GCC45_X64_DLINK2_FLAGS)
 DEFINE GCC46_ASM_FLAGS               = DEF(GCC45_ASM_FLAGS)
-DEFINE GCC46_ARM_ASM_FLAGS           = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
-DEFINE GCC46_ARM_CC_FLAGS            = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations
-DEFINE GCC46_ARM_CC_XIPFLAGS         = -D__ARM_FEATURE_UNALIGNED=0
-DEFINE GCC46_ARM_DLINK_FLAGS         = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--oformat=elf32-littlearm
-DEFINE GCC46_ARM_DLINK2_FLAGS        = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
-DEFINE GCC46_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_ASLDLINK_FLAGS) -Wl,--oformat=elf32-littlearm
 
 DEFINE GCC47_IA32_CC_FLAGS           = DEF(GCC46_IA32_CC_FLAGS)
 DEFINE GCC47_X64_CC_FLAGS            = DEF(GCC46_X64_CC_FLAGS)
@@ -4215,18 +4209,6 @@ DEFINE GCC47_IA32_DLINK2_FLAGS       = DEF(GCC46_IA32_DLINK2_FLAGS)
 DEFINE GCC47_X64_DLINK_FLAGS         = DEF(GCC46_X64_DLINK_FLAGS)
 DEFINE GCC47_X64_DLINK2_FLAGS        = DEF(GCC46_X64_DLINK2_FLAGS)
 DEFINE GCC47_ASM_FLAGS               = DEF(GCC46_ASM_FLAGS)
-DEFINE GCC47_ARM_ASM_FLAGS           = DEF(GCC46_ARM_ASM_FLAGS)
-DEFINE GCC47_AARCH64_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
-DEFINE GCC47_ARM_CC_FLAGS            = DEF(GCC46_ARM_CC_FLAGS)
-DEFINE GCC47_ARM_CC_XIPFLAGS         = DEF(GCC_ARM_CC_XIPFLAGS)
-DEFINE GCC47_AARCH64_CC_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS)
-DEFINE GCC47_AARCH64_CC_XIPFLAGS     = DEF(GCC_AARCH64_CC_XIPFLAGS)
-DEFINE GCC47_ARM_DLINK_FLAGS         = DEF(GCC46_ARM_DLINK_FLAGS)
-DEFINE GCC47_ARM_DLINK2_FLAGS        = DEF(GCC46_ARM_DLINK2_FLAGS)
-DEFINE GCC47_AARCH64_DLINK_FLAGS     = DEF(GCC_AARCH64_DLINK_FLAGS)
-DEFINE GCC47_AARCH64_DLINK2_FLAGS    = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
-DEFINE GCC47_ARM_ASLDLINK_FLAGS      = DEF(GCC46_ARM_ASLDLINK_FLAGS)
-DEFINE GCC47_AARCH64_ASLDLINK_FLAGS  = DEF(GCC_AARCH64_ASLDLINK_FLAGS)
 
 DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC47_IA32_CC_FLAGS)
 DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC47_X64_CC_FLAGS)
@@ -4237,18 +4219,18 @@ DEFINE GCC48_IA32_DLINK2_FLAGS       = DEF(GCC47_IA32_DLINK2_FLAGS)
 DEFINE GCC48_X64_DLINK_FLAGS         = DEF(GCC47_X64_DLINK_FLAGS)
 DEFINE GCC48_X64_DLINK2_FLAGS        = DEF(GCC47_X64_DLINK2_FLAGS)
 DEFINE GCC48_ASM_FLAGS               = DEF(GCC47_ASM_FLAGS)
-DEFINE GCC48_ARM_ASM_FLAGS           = DEF(GCC47_ARM_ASM_FLAGS)
-DEFINE GCC48_AARCH64_ASM_FLAGS       = DEF(GCC47_AARCH64_ASM_FLAGS)
-DEFINE GCC48_ARM_CC_FLAGS            = DEF(GCC47_ARM_CC_FLAGS)
-DEFINE GCC48_ARM_CC_XIPFLAGS         = DEF(GCC47_ARM_CC_XIPFLAGS)
-DEFINE GCC48_AARCH64_CC_FLAGS        = DEF(GCC47_AARCH64_CC_FLAGS)
-DEFINE GCC48_AARCH64_CC_XIPFLAGS     = DEF(GCC47_AARCH64_CC_XIPFLAGS)
-DEFINE GCC48_ARM_DLINK_FLAGS         = DEF(GCC47_ARM_DLINK_FLAGS)
-DEFINE GCC48_ARM_DLINK2_FLAGS        = DEF(GCC47_ARM_DLINK2_FLAGS)
-DEFINE GCC48_AARCH64_DLINK_FLAGS     = DEF(GCC47_AARCH64_DLINK_FLAGS)
-DEFINE GCC48_AARCH64_DLINK2_FLAGS    = DEF(GCC47_AARCH64_DLINK2_FLAGS)
-DEFINE GCC48_ARM_ASLDLINK_FLAGS      = DEF(GCC47_ARM_ASLDLINK_FLAGS)
-DEFINE GCC48_AARCH64_ASLDLINK_FLAGS  = DEF(GCC47_AARCH64_ASLDLINK_FLAGS)
+DEFINE GCC48_ARM_ASM_FLAGS           = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
+DEFINE GCC48_AARCH64_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
+DEFINE GCC48_ARM_CC_FLAGS            = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations
+DEFINE GCC48_ARM_CC_XIPFLAGS         = DEF(GCC_ARM_CC_XIPFLAGS)
+DEFINE GCC48_AARCH64_CC_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mcmodel=large DEF(GCC_AARCH64_CC_FLAGS)
+DEFINE GCC48_AARCH64_CC_XIPFLAGS     = DEF(GCC_AARCH64_CC_XIPFLAGS)
+DEFINE GCC48_ARM_DLINK_FLAGS         = DEF(GCC_ARM_DLINK_FLAGS) -Wl,--oformat=elf32-littlearm
+DEFINE GCC48_ARM_DLINK2_FLAGS        = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x220
+DEFINE GCC48_AARCH64_DLINK_FLAGS     = DEF(GCC_AARCH64_DLINK_FLAGS)
+DEFINE GCC48_AARCH64_DLINK2_FLAGS    = DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0x228
+DEFINE GCC48_ARM_ASLDLINK_FLAGS      = DEF(GCC_ARM_ASLDLINK_FLAGS) -Wl,--oformat=elf32-littlearm
+DEFINE GCC48_AARCH64_ASLDLINK_FLAGS  = DEF(GCC_AARCH64_ASLDLINK_FLAGS)
 
 DEFINE GCC49_IA32_CC_FLAGS           = DEF(GCC48_IA32_CC_FLAGS)
 DEFINE GCC49_X64_CC_FLAGS            = DEF(GCC48_X64_CC_FLAGS)
@@ -4588,40 +4570,6 @@ RELEASE_GCC46_IA32_CC_FLAGS       = DEF(GCC46_IA32_CC_FLAGS) -Os -Wno-unused-but
 RELEASE_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable
   NOOPT_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -O0
 
-##################
-# GCC46 ARM definitions
-##################
-*_GCC46_ARM_OBJCOPY_PATH         = echo
-*_GCC46_ARM_CC_PATH              = ENV(GCC46_ARM_PREFIX)gcc
-*_GCC46_ARM_SLINK_PATH           = ENV(GCC46_ARM_PREFIX)ar
-*_GCC46_ARM_DLINK_PATH           = ENV(GCC46_ARM_PREFIX)gcc
-*_GCC46_ARM_ASLDLINK_PATH        = ENV(GCC46_ARM_PREFIX)gcc
-*_GCC46_ARM_ASM_PATH             = ENV(GCC46_ARM_PREFIX)gcc
-*_GCC46_ARM_PP_PATH              = ENV(GCC46_ARM_PREFIX)gcc
-*_GCC46_ARM_VFRPP_PATH           = ENV(GCC46_ARM_PREFIX)gcc
-*_GCC46_ARM_ASLCC_PATH           = ENV(GCC46_ARM_PREFIX)gcc
-*_GCC46_ARM_ASLPP_PATH           = ENV(GCC46_ARM_PREFIX)gcc
-*_GCC46_ARM_RC_PATH              = ENV(GCC46_ARM_PREFIX)objcopy
-
-*_GCC46_ARM_ARCHCC_FLAGS         =
-*_GCC46_ARM_PLATFORM_FLAGS       = -march=armv7-a
-
-*_GCC46_ARM_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS)
-*_GCC46_ARM_ASLDLINK_FLAGS       = DEF(GCC46_ARM_ASLDLINK_FLAGS)
-*_GCC46_ARM_ASM_FLAGS            = DEF(GCC46_ARM_ASM_FLAGS)
-*_GCC46_ARM_DLINK_FLAGS          = DEF(GCC46_ARM_DLINK_FLAGS)
-*_GCC46_ARM_DLINK2_FLAGS         = DEF(GCC46_ARM_DLINK2_FLAGS)
-*_GCC46_ARM_DTCPP_FLAGS          = DEF(GCC_DTCPP_FLAGS)
-*_GCC46_ARM_PLATFORM_FLAGS       = -march=armv7-a
-*_GCC46_ARM_PP_FLAGS             = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
-*_GCC46_ARM_RC_FLAGS             = DEF(GCC_ARM_RC_FLAGS)
-*_GCC46_ARM_VFRPP_FLAGS          = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
-*_GCC46_ARM_CC_XIPFLAGS          = DEF(GCC46_ARM_CC_XIPFLAGS)
-
-  DEBUG_GCC46_ARM_CC_FLAGS       = DEF(GCC46_ARM_CC_FLAGS) -O0
-RELEASE_GCC46_ARM_CC_FLAGS       = DEF(GCC46_ARM_CC_FLAGS) -Wno-unused-but-set-variable
-  NOOPT_GCC46_ARM_CC_FLAGS       = DEF(GCC46_ARM_CC_FLAGS) -O0
-
 ####################################################################################
 #
 # GCC 4.7 - This configuration is used to compile under Linux to produce
@@ -4698,69 +4646,6 @@ RELEASE_GCC47_IA32_CC_FLAGS       = DEF(GCC47_IA32_CC_FLAGS) -Os -Wno-unused-but
 RELEASE_GCC47_X64_CC_FLAGS       = DEF(GCC47_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable
   NOOPT_GCC47_X64_CC_FLAGS       = DEF(GCC47_X64_CC_FLAGS) -O0
 
-##################
-# GCC47 ARM definitions
-##################
-*_GCC47_ARM_CC_PATH              = ENV(GCC47_ARM_PREFIX)gcc
-*_GCC47_ARM_SLINK_PATH           = ENV(GCC47_ARM_PREFIX)ar
-*_GCC47_ARM_DLINK_PATH           = ENV(GCC47_ARM_PREFIX)gcc
-*_GCC47_ARM_ASLDLINK_PATH        = ENV(GCC47_ARM_PREFIX)gcc
-*_GCC47_ARM_ASM_PATH             = ENV(GCC47_ARM_PREFIX)gcc
-*_GCC47_ARM_PP_PATH              = ENV(GCC47_ARM_PREFIX)gcc
-*_GCC47_ARM_VFRPP_PATH           = ENV(GCC47_ARM_PREFIX)gcc
-*_GCC47_ARM_ASLCC_PATH           = ENV(GCC47_ARM_PREFIX)gcc
-*_GCC47_ARM_ASLPP_PATH           = ENV(GCC47_ARM_PREFIX)gcc
-*_GCC47_ARM_RC_PATH              = ENV(GCC47_ARM_PREFIX)objcopy
-
-*_GCC47_ARM_ARCHCC_FLAGS         =
-*_GCC47_ARM_PLATFORM_FLAGS       = -march=armv7-a
-
-*_GCC47_ARM_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS)
-*_GCC47_ARM_ASLDLINK_FLAGS       = DEF(GCC47_ARM_ASLDLINK_FLAGS)
-*_GCC47_ARM_ASM_FLAGS            = DEF(GCC47_ARM_ASM_FLAGS)
-*_GCC47_ARM_DLINK_FLAGS          = DEF(GCC47_ARM_DLINK_FLAGS)
-*_GCC47_ARM_DLINK2_FLAGS         = DEF(GCC47_ARM_DLINK2_FLAGS)
-*_GCC47_ARM_DTCPP_FLAGS          = DEF(GCC_DTCPP_FLAGS)
-*_GCC47_ARM_PLATFORM_FLAGS       = -march=armv7-a
-*_GCC47_ARM_PP_FLAGS             = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
-*_GCC47_ARM_RC_FLAGS             = DEF(GCC_ARM_RC_FLAGS)
-*_GCC47_ARM_VFRPP_FLAGS          = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
-*_GCC47_ARM_CC_XIPFLAGS          = DEF(GCC47_ARM_CC_XIPFLAGS)
-
-  DEBUG_GCC47_ARM_CC_FLAGS       = DEF(GCC47_ARM_CC_FLAGS) -O0
-RELEASE_GCC47_ARM_CC_FLAGS       = DEF(GCC47_ARM_CC_FLAGS) -Wno-unused-but-set-variable
-  NOOPT_GCC47_ARM_CC_FLAGS       = DEF(GCC47_ARM_CC_FLAGS) -O0
-
-##################
-# GCC47 AARCH64 definitions
-##################
-*_GCC47_AARCH64_CC_PATH          = ENV(GCC47_AARCH64_PREFIX)gcc
-*_GCC47_AARCH64_SLINK_PATH       = ENV(GCC47_AARCH64_PREFIX)ar
-*_GCC47_AARCH64_DLINK_PATH       = ENV(GCC47_AARCH64_PREFIX)gcc
-*_GCC47_AARCH64_ASLDLINK_PATH    = ENV(GCC47_AARCH64_PREFIX)gcc
-*_GCC47_AARCH64_ASM_PATH         = ENV(GCC47_AARCH64_PREFIX)gcc
-*_GCC47_AARCH64_PP_PATH          = ENV(GCC47_AARCH64_PREFIX)gcc
-*_GCC47_AARCH64_VFRPP_PATH       = ENV(GCC47_AARCH64_PREFIX)gcc
-*_GCC47_AARCH64_ASLCC_PATH       = ENV(GCC47_AARCH64_PREFIX)gcc
-*_GCC47_AARCH64_ASLPP_PATH       = ENV(GCC47_AARCH64_PREFIX)gcc
-*_GCC47_AARCH64_RC_PATH          = ENV(GCC47_AARCH64_PREFIX)objcopy
-
-*_GCC47_AARCH64_ASLCC_FLAGS      = DEF(GCC_ASLCC_FLAGS)
-*_GCC47_AARCH64_ASLDLINK_FLAGS   = DEF(GCC47_AARCH64_ASLDLINK_FLAGS)
-*_GCC47_AARCH64_ASM_FLAGS        = DEF(GCC47_AARCH64_ASM_FLAGS)
-*_GCC47_AARCH64_DLINK_FLAGS      = DEF(GCC47_AARCH64_DLINK_FLAGS)
-*_GCC47_AARCH64_DLINK2_FLAGS     = DEF(GCC47_AARCH64_DLINK2_FLAGS)
-*_GCC47_AARCH64_DTCPP_FLAGS      = DEF(GCC_DTCPP_FLAGS)
-*_GCC47_AARCH64_PLATFORM_FLAGS   =
-*_GCC47_AARCH64_PP_FLAGS         = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_PP_FLAGS)
-*_GCC47_AARCH64_RC_FLAGS         = DEF(GCC_AARCH64_RC_FLAGS)
-*_GCC47_AARCH64_VFRPP_FLAGS      = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_VFRPP_FLAGS)
-*_GCC47_AARCH64_CC_XIPFLAGS      = DEF(GCC47_AARCH64_CC_XIPFLAGS)
-
-  DEBUG_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) -O0
-RELEASE_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) -Wno-unused-but-set-variable
-  NOOPT_GCC47_AARCH64_CC_FLAGS   = DEF(GCC47_AARCH64_CC_FLAGS) -O0
-
 ####################################################################################
 #
 # GCC 4.8 - This configuration is used to compile under Linux to produce
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 05/26] BaseTools/tools_def.template: fix up LF-only line terminator
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (3 preceding siblings ...)
  2019-01-03  2:47 ` [PATCH 04/26] BaseTools/Conf/tools_def.template: drop ARM/AARCH support from GCC46/GCC47 Laszlo Ersek
@ 2019-01-03  2:47 ` Laszlo Ersek
  2019-01-03  2:47 ` [PATCH 06/26] BaseTools/tools_def.template: strip trailing whitespace Laszlo Ersek
                   ` (22 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:47 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

"tools_def.template" should only use CRLF line terminators, at this time.

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Fixes: 88e8498f8a72cff1f7af6852ec8166772913399e
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index a2ab9680b0aa..0869e8d8c73e 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4235,7 +4235,7 @@ DEFINE GCC48_AARCH64_ASLDLINK_FLAGS  = DEF(GCC_AARCH64_ASLDLINK_FLAGS)
 DEFINE GCC49_IA32_CC_FLAGS           = DEF(GCC48_IA32_CC_FLAGS)
 DEFINE GCC49_X64_CC_FLAGS            = DEF(GCC48_X64_CC_FLAGS)
 DEFINE GCC49_IA32_X64_DLINK_COMMON   = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x40
-DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
+DEFINE GCC49_IA32_X64_ASLDLINK_FLAGS = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--defsym=PECOFF_HEADER_SIZE=0 DEF(GCC_DLINK2_FLAGS_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
 DEFINE GCC49_IA32_X64_DLINK_FLAGS    = DEF(GCC49_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
 DEFINE GCC49_IA32_DLINK2_FLAGS       = DEF(GCC48_IA32_DLINK2_FLAGS)
 DEFINE GCC49_X64_DLINK_FLAGS         = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 06/26] BaseTools/tools_def.template: strip trailing whitespace
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (4 preceding siblings ...)
  2019-01-03  2:47 ` [PATCH 05/26] BaseTools/tools_def.template: fix up LF-only line terminator Laszlo Ersek
@ 2019-01-03  2:47 ` Laszlo Ersek
  2019-01-03  2:47 ` [PATCH 07/26] BaseTools/tools_def.template: remove GCC48_IA32_X64_DLINK_COMMON dead-end Laszlo Ersek
                   ` (21 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:47 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

Whitespace just before line terminators is useless, remove it.

("git show -b" produces a null diff for this patch.)

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 108 ++++++++++----------
 1 file changed, 54 insertions(+), 54 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 0869e8d8c73e..5df9438757bc 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -429,7 +429,7 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                             Intel C Compiler V9.1
 #                        Dependencies:
 #                             Microsoft Visual Studio 2003 or 2005
-#                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) 
+#                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK)
 #                             version 3790.1830 for X64 target architectures
 #                        Optional:
 #                             Required to build EBC drivers:
@@ -441,7 +441,7 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                             Intel C Compiler V11.1
 #                        Dependencies:
 #                             Microsoft Visual Studio 2005 or 2008
-#                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) 
+#                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK)
 #                             version 3790.1830 for X64 target architectures
 #                        Optional:
 #                             Required to build EBC drivers:
@@ -541,7 +541,7 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                             Intel C Compiler V9.1
 #                        Dependencies:
 #                             Microsoft Visual Studio 2003 or 2005
-#                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) 
+#                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK)
 #                             version 3790.1830 for X64 target architectures
 #                        Optional:
 #                             Required to build EBC drivers:
@@ -553,7 +553,7 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                             Intel C Compiler V11.1
 #                        Dependencies:
 #                             Microsoft Visual Studio 2005 or 2008
-#                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) 
+#                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK)
 #                             version 3790.1830 for X64 target architectures
 #                        Optional:
 #                             Required to build EBC drivers:
@@ -569,21 +569,21 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler (iasl.exe) from
-#                               https://acpica.org/downloads 
+#                               https://acpica.org/downloads
 #   VS2008x86   -win64-  Requires:
 #                             Microsoft Visual Studio 2008 (x86)
 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
 #                        Optional:
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler (iasl.exe) from
-#                               https://acpica.org/downloads 
+#                               https://acpica.org/downloads
 #   VS2010x86   -win64-  Requires:
 #                             Microsoft Visual Studio 2010 (x86) Premium Edition
 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
 #                        Optional:
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler (iasl.exe) from
-#                               https://acpica.org/downloads 
+#                               https://acpica.org/downloads
 #   VS2012x86   -win64-  Requires:
 #                             Microsoft Visual Studio 2012 (x86) Professional Edition
 #                             Microsoft Windows Server 2003 Driver Development Kit (Microsoft WINDDK) version 3790.1830
@@ -609,29 +609,29 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                             Intel C Compiler V9.1(x86)
 #                        Dependencies:
 #                             Microsoft Visual Studio 2003 or 2005
-#                             Microsoft Windows Server 2003 Driver Development Kit 
+#                             Microsoft Windows Server 2003 Driver Development Kit
 #                             (Microsoft WINDDK) version 3790.1830 for X64 target architectures
 #                        Optional:
 #                             Required to build EBC drivers:
 #                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler (iasl.exe) from
-#                               https://acpica.org/downloads 
+#                               https://acpica.org/downloads
 #   ICC11x86    -win64-  Requires:
 #                             Intel C Compiler V11.1(x86)
 #                        Dependencies:
 #                             Microsoft Visual Studio 2005 or 2008
-#                             Microsoft Windows Server 2003 Driver Development Kit 
+#                             Microsoft Windows Server 2003 Driver Development Kit
 #                             (Microsoft WINDDK) version 3790.1830 for X64 target architectures
 #                        Optional:
 #                             Required to build EBC drivers:
 #                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler (iasl.exe) from
-#                               https://acpica.org/downloads 
+#                               https://acpica.org/downloads
 #  VS2005x86xASL -win64- Requires:
 #                             Microsoft Visual Studio 2005 Team Suite Edition (x86)
-#                             Microsoft Windows Server 2003 Driver Development Kit(Microsoft WINDDK) version 3790.1830 
+#                             Microsoft Windows Server 2003 Driver Development Kit(Microsoft WINDDK) version 3790.1830
 #                        Optional:
 #                             Required to build EBC drivers:
 #                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
@@ -640,35 +640,35 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                               http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi
 #  VS2008x86xASL -win64- Requires:
 #                             Microsoft Visual Studio 2008 (x86)
-#                             Microsoft Windows Server 2003 Driver Development Kit(Microsoft WINDDK) version 3790.1830 
+#                             Microsoft Windows Server 2003 Driver Development Kit(Microsoft WINDDK) version 3790.1830
 #                        Optional:
 #                             Required to build platforms or ACPI tables:
 #                               Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from
 #                               http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi
 #  VS2010x86xASL -win64- Requires:
 #                             Microsoft Visual Studio 2010 (x86) Premium Edition
-#                             Microsoft Windows Server 2003 Driver Development Kit(Microsoft WINDDK) version 3790.1830 
+#                             Microsoft Windows Server 2003 Driver Development Kit(Microsoft WINDDK) version 3790.1830
 #                        Optional:
 #                             Required to build platforms or ACPI tables:
 #                               Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from
 #                               http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi
 #  VS2012x86xASL -win64- Requires:
 #                             Microsoft Visual Studio 2012 (x86) Professional Edition
-#                             Microsoft Windows Server 2003 Driver Development Kit(Microsoft WINDDK) version 3790.1830 
+#                             Microsoft Windows Server 2003 Driver Development Kit(Microsoft WINDDK) version 3790.1830
 #                        Optional:
 #                             Required to build platforms or ACPI tables:
 #                               Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from
 #                               http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi
 #  VS2013x86xASL -win64- Requires:
 #                             Microsoft Visual Studio 2013 (x86) Professional
-#                             Microsoft Windows Server 2003 Driver Development Kit(Microsoft WINDDK) version 3790.1830 
+#                             Microsoft Windows Server 2003 Driver Development Kit(Microsoft WINDDK) version 3790.1830
 #                        Optional:
 #                             Required to build platforms or ACPI tables:
 #                               Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from
 #                               http://download.microsoft.com/download/2/c/1/2c16c7e0-96c1-40f5-81fc-3e4bf7b65496/microsoft_asl_compiler-v4-0-0.msi
 #  VS2015x86xASL -win64- Requires:
 #                             Microsoft Visual Studio 2015 (x86) Professional
-#                             Microsoft Windows Server 2003 Driver Development Kit(Microsoft WINDDK) version 3790.1830 
+#                             Microsoft Windows Server 2003 Driver Development Kit(Microsoft WINDDK) version 3790.1830
 #                        Optional:
 #                             Required to build platforms or ACPI tables:
 #                               Microsoft ASL ACPI Compiler (asl.exe) v4.0.0 from
@@ -705,7 +705,7 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                               Intel(r) Compiler for Efi Byte Code (Intel(r) EBC Compiler)
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler (iasl.exe) from
-#                               https://acpica.org/downloads 
+#                               https://acpica.org/downloads
 #  CYGGCCx86xASL -win64- Requires:
 #                             CygWin, GCC 4.3.0, binutils 2.20.51.0.5
 #                             Microsoft Visual Studio 2005 or 2008
@@ -4383,7 +4383,7 @@ DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
 *_GCC44_IA32_DLINK_FLAGS          = DEF(GCC44_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
 *_GCC44_IA32_DLINK2_FLAGS         = DEF(GCC44_IA32_DLINK2_FLAGS)
 *_GCC44_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
-*_GCC44_IA32_OBJCOPY_FLAGS        = 
+*_GCC44_IA32_OBJCOPY_FLAGS        =
 *_GCC44_IA32_NASM_FLAGS           = -f elf32
 
   DEBUG_GCC44_IA32_CC_FLAGS       = DEF(GCC44_IA32_CC_FLAGS) -Os
@@ -4411,7 +4411,7 @@ RELEASE_GCC44_IA32_CC_FLAGS       = DEF(GCC44_IA32_CC_FLAGS) -Os
 *_GCC44_X64_DLINK_FLAGS          = DEF(GCC44_X64_DLINK_FLAGS)
 *_GCC44_X64_DLINK2_FLAGS         = DEF(GCC44_X64_DLINK2_FLAGS)
 *_GCC44_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
-*_GCC44_X64_OBJCOPY_FLAGS        = 
+*_GCC44_X64_OBJCOPY_FLAGS        =
 *_GCC44_X64_NASM_FLAGS           = -f elf64
 
   DEBUG_GCC44_X64_CC_FLAGS       = DEF(GCC44_X64_CC_FLAGS) -Os
@@ -4459,7 +4459,7 @@ RELEASE_GCC44_X64_CC_FLAGS       = DEF(GCC44_X64_CC_FLAGS) -Os
 *_GCC45_IA32_DLINK_FLAGS          = DEF(GCC45_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
 *_GCC45_IA32_DLINK2_FLAGS         = DEF(GCC45_IA32_DLINK2_FLAGS)
 *_GCC45_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
-*_GCC45_IA32_OBJCOPY_FLAGS        = 
+*_GCC45_IA32_OBJCOPY_FLAGS        =
 *_GCC45_IA32_NASM_FLAGS           = -f elf32
 
   DEBUG_GCC45_IA32_CC_FLAGS       = DEF(GCC45_IA32_CC_FLAGS) -Os
@@ -4487,7 +4487,7 @@ RELEASE_GCC45_IA32_CC_FLAGS       = DEF(GCC45_IA32_CC_FLAGS) -Os
 *_GCC45_X64_DLINK_FLAGS          = DEF(GCC45_X64_DLINK_FLAGS)
 *_GCC45_X64_DLINK2_FLAGS         = DEF(GCC45_X64_DLINK2_FLAGS)
 *_GCC45_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
-*_GCC45_X64_OBJCOPY_FLAGS        = 
+*_GCC45_X64_OBJCOPY_FLAGS        =
 *_GCC45_X64_NASM_FLAGS           = -f elf64
 
   DEBUG_GCC45_X64_CC_FLAGS       = DEF(GCC45_X64_CC_FLAGS) -Os
@@ -4535,7 +4535,7 @@ RELEASE_GCC45_X64_CC_FLAGS       = DEF(GCC45_X64_CC_FLAGS) -Os
 *_GCC46_IA32_DLINK_FLAGS          = DEF(GCC46_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
 *_GCC46_IA32_DLINK2_FLAGS         = DEF(GCC46_IA32_DLINK2_FLAGS)
 *_GCC46_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
-*_GCC46_IA32_OBJCOPY_FLAGS        = 
+*_GCC46_IA32_OBJCOPY_FLAGS        =
 *_GCC46_IA32_NASM_FLAGS           = -f elf32
 
   DEBUG_GCC46_IA32_CC_FLAGS       = DEF(GCC46_IA32_CC_FLAGS) -Os
@@ -4563,7 +4563,7 @@ RELEASE_GCC46_IA32_CC_FLAGS       = DEF(GCC46_IA32_CC_FLAGS) -Os -Wno-unused-but
 *_GCC46_X64_DLINK_FLAGS          = DEF(GCC46_X64_DLINK_FLAGS)
 *_GCC46_X64_DLINK2_FLAGS         = DEF(GCC46_X64_DLINK2_FLAGS)
 *_GCC46_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
-*_GCC46_X64_OBJCOPY_FLAGS        = 
+*_GCC46_X64_OBJCOPY_FLAGS        =
 *_GCC46_X64_NASM_FLAGS           = -f elf64
 
   DEBUG_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -Os
@@ -4611,7 +4611,7 @@ RELEASE_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -Os -Wno-unused-but-s
 *_GCC47_IA32_DLINK_FLAGS          = DEF(GCC47_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
 *_GCC47_IA32_DLINK2_FLAGS         = DEF(GCC47_IA32_DLINK2_FLAGS)
 *_GCC47_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
-*_GCC47_IA32_OBJCOPY_FLAGS        = 
+*_GCC47_IA32_OBJCOPY_FLAGS        =
 *_GCC47_IA32_NASM_FLAGS           = -f elf32
 
   DEBUG_GCC47_IA32_CC_FLAGS       = DEF(GCC47_IA32_CC_FLAGS) -Os
@@ -4639,7 +4639,7 @@ RELEASE_GCC47_IA32_CC_FLAGS       = DEF(GCC47_IA32_CC_FLAGS) -Os -Wno-unused-but
 *_GCC47_X64_DLINK_FLAGS          = DEF(GCC47_X64_DLINK_FLAGS)
 *_GCC47_X64_DLINK2_FLAGS         = DEF(GCC47_X64_DLINK2_FLAGS)
 *_GCC47_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
-*_GCC47_X64_OBJCOPY_FLAGS        = 
+*_GCC47_X64_OBJCOPY_FLAGS        =
 *_GCC47_X64_NASM_FLAGS           = -f elf64
 
   DEBUG_GCC47_X64_CC_FLAGS       = DEF(GCC47_X64_CC_FLAGS) -Os
@@ -4687,7 +4687,7 @@ RELEASE_GCC47_X64_CC_FLAGS       = DEF(GCC47_X64_CC_FLAGS) -Os -Wno-unused-but-s
 *_GCC48_IA32_DLINK_FLAGS          = DEF(GCC48_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
 *_GCC48_IA32_DLINK2_FLAGS         = DEF(GCC48_IA32_DLINK2_FLAGS)
 *_GCC48_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
-*_GCC48_IA32_OBJCOPY_FLAGS        = 
+*_GCC48_IA32_OBJCOPY_FLAGS        =
 *_GCC48_IA32_NASM_FLAGS           = -f elf32
 
   DEBUG_GCC48_IA32_CC_FLAGS       = DEF(GCC48_IA32_CC_FLAGS) -Os
@@ -4715,7 +4715,7 @@ RELEASE_GCC48_IA32_CC_FLAGS       = DEF(GCC48_IA32_CC_FLAGS) -Os -Wno-unused-but
 *_GCC48_X64_DLINK_FLAGS          = DEF(GCC48_X64_DLINK_FLAGS)
 *_GCC48_X64_DLINK2_FLAGS         = DEF(GCC48_X64_DLINK2_FLAGS)
 *_GCC48_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
-*_GCC48_X64_OBJCOPY_FLAGS        = 
+*_GCC48_X64_OBJCOPY_FLAGS        =
 *_GCC48_X64_NASM_FLAGS           = -f elf64
 
   DEBUG_GCC48_X64_CC_FLAGS       = DEF(GCC48_X64_CC_FLAGS) -Os
@@ -4826,7 +4826,7 @@ RELEASE_GCC48_AARCH64_CC_FLAGS   = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s
 *_GCC49_IA32_DLINK_FLAGS          = DEF(GCC49_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
 *_GCC49_IA32_DLINK2_FLAGS         = DEF(GCC49_IA32_DLINK2_FLAGS)
 *_GCC49_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
-*_GCC49_IA32_OBJCOPY_FLAGS        = 
+*_GCC49_IA32_OBJCOPY_FLAGS        =
 *_GCC49_IA32_NASM_FLAGS           = -f elf32
 
   DEBUG_GCC49_IA32_CC_FLAGS       = DEF(GCC49_IA32_CC_FLAGS) -Os
@@ -4854,7 +4854,7 @@ RELEASE_GCC49_IA32_CC_FLAGS       = DEF(GCC49_IA32_CC_FLAGS) -Os -Wno-unused-but
 *_GCC49_X64_DLINK_FLAGS          = DEF(GCC49_X64_DLINK_FLAGS)
 *_GCC49_X64_DLINK2_FLAGS         = DEF(GCC49_X64_DLINK2_FLAGS)
 *_GCC49_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
-*_GCC49_X64_OBJCOPY_FLAGS        = 
+*_GCC49_X64_OBJCOPY_FLAGS        =
 *_GCC49_X64_NASM_FLAGS           = -f elf64
 
   DEBUG_GCC49_X64_CC_FLAGS       = DEF(GCC49_X64_CC_FLAGS) -Os
@@ -5691,7 +5691,7 @@ NOOPT_ICC_X64_NASM_FLAGS                 = -O0 -f win64 -g
 
   DEBUG_ICC_X64_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
 RELEASE_ICC_X64_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_ICC_X64_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG    
+NOOPT_ICC_X64_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
 
       *_ICC_X64_SLINK_FLAGS              = /nologo /LTCG
 
@@ -5810,7 +5810,7 @@ NOOPT_ICCxASL_X64_NASM_FLAGS                 = -O0 -f win64 -g
 
   DEBUG_ICCxASL_X64_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
 RELEASE_ICCxASL_X64_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
-NOOPT_ICCxASL_X64_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG  
+NOOPT_ICCxASL_X64_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
 
       *_ICCxASL_X64_SLINK_FLAGS              = /nologo /LTCG
 
@@ -6053,7 +6053,7 @@ NOOPT_ICCx86xASL_X64_NASM_FLAGS                 = -O0 -f win64 -g
   DEBUG_ICCx86xASL_X64_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
 RELEASE_ICCx86xASL_X64_DLINK_FLAGS              = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /IGNORE:4254 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /MERGE:.rdata=.data
 NOOPT_ICCx86xASL_X64_DLINK_FLAGS                = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /OPT:REF /OPT:ICF=10 /MAP /ALIGN:32 /SECTION:.xdata,D /SECTION:.pdata,D /Machine:X64 /LTCG /DLL /ENTRY:$(IMAGE_ENTRY_POINT) /SUBSYSTEM:CONSOLE /SAFESEH:NO /BASE:0 /DRIVER /DEBUG
- 
+
       *_ICCx86xASL_X64_SLINK_FLAGS              = /nologo /LTCG
 
 
@@ -6607,7 +6607,7 @@ RELEASE_MYTOOLS_IA32_CC_FLAGS            = /nologo /c /WX /GS- /W4 /Gs32768 /Gy
 NOOPT_MYTOOLS_IA32_CC_FLAGS              = /nologo /c /WX /GS- /W4 /Gs32768 /Gy /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
   DEBUG_MYTOOLS_IA32_ASM_FLAGS           = /nologo /c /WX /W3 /coff /Cx /Zd /Zi
 RELEASE_MYTOOLS_IA32_ASM_FLAGS           = /nologo /c /WX /W3 /coff /Cx /Zd
-NOOPT_MYTOOLS_IA32_ASM_FLAGS             = /nologo /c /WX /W3 /coff /Cx /Zd /Zi  
+NOOPT_MYTOOLS_IA32_ASM_FLAGS             = /nologo /c /WX /W3 /coff /Cx /Zd /Zi
   DEBUG_MYTOOLS_IA32_NASM_FLAGS          = -Ox -f win32 -g
 RELEASE_MYTOOLS_IA32_NASM_FLAGS          = -Ox -f win32
 NOOPT_MYTOOLS_IA32_NASM_FLAGS            = -O0 -f win32 -g
@@ -6635,10 +6635,10 @@ NOOPT_MYTOOLS_IA32_DLINK_FLAGS           = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /O
 
   DEBUG_MYTOOLS_X64_CC_FLAGS             = /nologo /c /WX /GS- /W4 /Gs32768 /Gy /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm
 RELEASE_MYTOOLS_X64_CC_FLAGS             = /nologo /c /WX /GS- /W4 /Gs32768 /Gy /D UNICODE /O1b2 /GL /FIAutoGen.h /EHs-c- /GR- /GF
-NOOPT_MYTOOLS_X64_CC_FLAGS               = /nologo /c /WX /GS- /W4 /Gs32768 /Gy /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od  
+NOOPT_MYTOOLS_X64_CC_FLAGS               = /nologo /c /WX /GS- /W4 /Gs32768 /Gy /D UNICODE /FIAutoGen.h /EHs-c- /GR- /GF /Zi /Gm /Od
   DEBUG_MYTOOLS_X64_ASM_FLAGS            = /nologo /c /WX /W3 /Cx /Zd /Zi
 RELEASE_MYTOOLS_X64_ASM_FLAGS            = /nologo /c /WX /W3 /Cx /Zd
-NOOPT_MYTOOLS_X64_ASM_FLAGS              = /nologo /c /WX /W3 /Cx /Zd /Zi  
+NOOPT_MYTOOLS_X64_ASM_FLAGS              = /nologo /c /WX /W3 /Cx /Zd /Zi
   DEBUG_MYTOOLS_X64_NASM_FLAGS           = -Ox -f win64 -g
 RELEASE_MYTOOLS_X64_NASM_FLAGS           = -Ox -f win64
 NOOPT_MYTOOLS_X64_NASM_FLAGS             = -O0 -f win64 -g
@@ -6706,7 +6706,7 @@ NOOPT_MYTOOLS_X64_DLINK_FLAGS            = /NOLOGO /NODEFAULTLIB /IGNORE:4001 /O
 
   DEBUG_XCODE5_*_MTOC_FLAGS = -align 0x20 -d $(DEBUG_DIR)/$(MODULE_NAME).dll
   NOOPT_XCODE5_*_MTOC_FLAGS = -align 0x20 -d $(DEBUG_DIR)/$(MODULE_NAME).dll
-RELEASE_XCODE5_*_MTOC_FLAGS = -align 0x20 
+RELEASE_XCODE5_*_MTOC_FLAGS = -align 0x20
 
 ####################
 # IA-32 definitions
@@ -6718,7 +6718,7 @@ RELEASE_XCODE5_IA32_DLINK_FLAGS      = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e _$
 *_XCODE5_IA32_SLINK_FLAGS      = -static -o
   DEBUG_XCODE5_IA32_ASM_FLAGS  = -arch i386 -g
   NOOPT_XCODE5_IA32_ASM_FLAGS  = -arch i386 -g
-RELEASE_XCODE5_IA32_ASM_FLAGS  = -arch i386 
+RELEASE_XCODE5_IA32_ASM_FLAGS  = -arch i386
       *_XCODE5_IA32_NASM_FLAGS = -f macho32
 
 
@@ -6736,10 +6736,10 @@ RELEASE_XCODE5_X64_DLINK_FLAGS      = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e _
 *_XCODE5_X64_SLINK_FLAGS      = -static -o
   DEBUG_XCODE5_X64_ASM_FLAGS  = -arch x86_64 -g
   NOOPT_XCODE5_X64_ASM_FLAGS  = -arch x86_64 -g
-RELEASE_XCODE5_X64_ASM_FLAGS  = -arch x86_64 
+RELEASE_XCODE5_X64_ASM_FLAGS  = -arch x86_64
       *_XCODE5_X64_NASM_FLAGS = -f macho64
-*_XCODE5_*_PP_FLAGS         = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h 
-*_XCODE5_*_VFRPP_FLAGS      = -x c -E -P -DVFRCOMPILE -include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h 
+*_XCODE5_*_PP_FLAGS         = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h
+*_XCODE5_*_VFRPP_FLAGS      = -x c -E -P -DVFRCOMPILE -include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h
 
   DEBUG_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c -g -Os       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
   NOOPT_XCODE5_X64_CC_FLAGS   = -target x86_64-pc-win32-macho -c -g -O0       -Wall -Werror -Wextra -include AutoGen.h -funsigned-char -fno-ms-extensions -fno-stack-protector -fno-builtin -fshort-wchar -mno-implicit-float -mms-bitfields -Wno-unused-parameter -Wno-missing-braces -Wno-missing-field-initializers -Wno-tautological-compare -Wno-sign-compare -Wno-varargs -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -D NO_MSABI_VA_FUNCS $(PLATFORM_FLAGS)
@@ -6768,12 +6768,12 @@ DEFINE RVCT_ALL_DLINK_FLAGS = --no_scanlib --no_exceptions --datacompressor off
 # Use default values, or override in DSC file
 #
 *_RVCT_ARM_ARCHCC_FLAGS    = --thumb --fpu=softvfp
-*_RVCT_ARM_ARCHASM_FLAGS   = 
-*_RVCT_ARM_ARCHDLINK_FLAGS = 
+*_RVCT_ARM_ARCHASM_FLAGS   =
+*_RVCT_ARM_ARCHDLINK_FLAGS =
 *_RVCT_ARM_PLATFORM_FLAGS  = --cpu 7-A
 
-  DEBUG_RVCT_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map 
-RELEASE_RVCT_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map 
+  DEBUG_RVCT_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
+RELEASE_RVCT_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
 
 
 *_RVCT_ARM_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
@@ -6810,11 +6810,11 @@ RELEASE_RVCT_ARM_CC_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppress=5
 # Use default values, or override in DSC file
 #
 *_RVCTLINUX_ARM_ARCHCC_FLAGS    = --thumb --fpu=softvfp
-*_RVCTLINUX_ARM_ARCHASM_FLAGS   = 
-*_RVCTLINUX_ARM_ARCHDLINK_FLAGS = 
+*_RVCTLINUX_ARM_ARCHASM_FLAGS   =
+*_RVCTLINUX_ARM_ARCHDLINK_FLAGS =
 *_RVCTLINUX_ARM_PLATFORM_FLAGS  = --cpu 7-A
 
-DEBUG_RVCTLINUX_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map 
+DEBUG_RVCTLINUX_ARM_DLINK_FLAGS     = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
 RELEASE_RVCTLINUX_ARM_DLINK_FLAGS   = $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list $(DEST_DIR_DEBUG)/$(BASE_NAME).map
 
 *_RVCTLINUX_ARM_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
@@ -6858,12 +6858,12 @@ RELEASE_RVCTLINUX_ARM_CC_FLAGS  = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) --diag_suppr
 #
 *_RVCTCYGWIN_ARM_ARCHCC_FLAGS    = --thumb --fpu=softvfp
 *_RVCTCYGWIN_ARM_ARCHASM_FLAGS   =
-*_RVCTCYGWIN_ARM_ARCHDLINK_FLAGS = 
+*_RVCTCYGWIN_ARM_ARCHDLINK_FLAGS =
 *_RVCTCYGWIN_ARM_PLATFORM_FLAGS  = --cpu 7-A
 
-  DEBUG_RVCTCYGWIN_ARM_DLINK_FLAGS     = "$(DLINKPATH_FLAG)" $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list `cygpath -m $(DEST_DIR_DEBUG)/$(BASE_NAME).map` 
-RELEASE_RVCTCYGWIN_ARM_DLINK_FLAGS     = "$(DLINKPATH_FLAG)" $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list `cygpath -m $(DEST_DIR_DEBUG)/$(BASE_NAME).map` 
- 
+  DEBUG_RVCTCYGWIN_ARM_DLINK_FLAGS     = "$(DLINKPATH_FLAG)" $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list `cygpath -m $(DEST_DIR_DEBUG)/$(BASE_NAME).map`
+RELEASE_RVCTCYGWIN_ARM_DLINK_FLAGS     = "$(DLINKPATH_FLAG)" $(ARCHDLINK_FLAGS) DEF(RVCT_ALL_DLINK_FLAGS) --entry $(IMAGE_ENTRY_POINT) --map --list `cygpath -m $(DEST_DIR_DEBUG)/$(BASE_NAME).map`
+
 *_RVCTCYGWIN_ARM_ASM_FLAGS       = "$(ASMPATH_FLAG)" $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(RVCT_ALL_ASM_FLAGS)
 *_RVCTCYGWIN_ARM_PP_FLAGS        = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E
 *_RVCTCYGWIN_ARM_VFRPP_FLAGS     = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -E  -DVFRCOMPILE --preinclude `cygpath -m $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h`
@@ -6939,8 +6939,8 @@ RELEASE_RVCTCYGWIN_ARM_CC_FLAGS  = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_F
 #
 #       Rsa2048Sha256Sign --private-key MyKey.pem %1 %2 %3 %4 %5 %6 %7 %8 %9
 #
-#   WARNING: Vendors that uses private keys are responsible for proper management and protection 
-#            of private keys.  Vendors may choose to use infrastructure such as signing servers 
+#   WARNING: Vendors that uses private keys are responsible for proper management and protection
+#            of private keys.  Vendors may choose to use infrastructure such as signing servers
 #            or signing portals to support the management and protection of private keys.
 #
 ##################
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 07/26] BaseTools/tools_def.template: remove GCC48_IA32_X64_DLINK_COMMON dead-end
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (5 preceding siblings ...)
  2019-01-03  2:47 ` [PATCH 06/26] BaseTools/tools_def.template: strip trailing whitespace Laszlo Ersek
@ 2019-01-03  2:47 ` Laszlo Ersek
  2019-01-03  2:47 ` [PATCH 08/26] BaseTools/tools_def.template: remove GCC47 leaf definitions Laszlo Ersek
                   ` (20 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:47 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

DLINK_COMMON definitions are not consumed by "build_rule.template";
instead, DLINK_COMMON definitions (internal to "tools_def.template") were
invented for sharing options between ASLDLINK_FLAGS and DLINK_FLAGS.

However, this intent doesn't actually apply to
GCC48_IA32_X64_DLINK_COMMON: it is never consumed. Furthermore, the
GCC45..GCC47 instances of IA32_X64_DLINK_COMMON too lead up to
GCC48_IA32_X64_DLINK_COMMON only -- they form a dead-end. Remove them
altogether, in order to simplify the subsequent patches.

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 5df9438757bc..c14fcdf5f5e5 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4182,7 +4182,6 @@ DEFINE GCC44_ASM_FLAGS               = DEF(GCC_ASM_FLAGS)
 
 DEFINE GCC45_IA32_CC_FLAGS           = DEF(GCC44_IA32_CC_FLAGS)
 DEFINE GCC45_X64_CC_FLAGS            = DEF(GCC44_X64_CC_FLAGS)
-DEFINE GCC45_IA32_X64_DLINK_COMMON   = DEF(GCC44_IA32_X64_DLINK_COMMON)
 DEFINE GCC45_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_ASLDLINK_FLAGS)
 DEFINE GCC45_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_FLAGS)
 DEFINE GCC45_IA32_DLINK2_FLAGS       = DEF(GCC44_IA32_DLINK2_FLAGS)
@@ -4192,7 +4191,6 @@ DEFINE GCC45_ASM_FLAGS               = DEF(GCC44_ASM_FLAGS)
 
 DEFINE GCC46_IA32_CC_FLAGS           = DEF(GCC45_IA32_CC_FLAGS) -Wno-address
 DEFINE GCC46_X64_CC_FLAGS            = DEF(GCC45_X64_CC_FLAGS) -Wno-address
-DEFINE GCC46_IA32_X64_DLINK_COMMON   = DEF(GCC45_IA32_X64_DLINK_COMMON)
 DEFINE GCC46_IA32_X64_ASLDLINK_FLAGS = DEF(GCC45_IA32_X64_ASLDLINK_FLAGS)
 DEFINE GCC46_IA32_X64_DLINK_FLAGS    = DEF(GCC45_IA32_X64_DLINK_FLAGS)
 DEFINE GCC46_IA32_DLINK2_FLAGS       = DEF(GCC45_IA32_DLINK2_FLAGS)
@@ -4202,7 +4200,6 @@ DEFINE GCC46_ASM_FLAGS               = DEF(GCC45_ASM_FLAGS)
 
 DEFINE GCC47_IA32_CC_FLAGS           = DEF(GCC46_IA32_CC_FLAGS)
 DEFINE GCC47_X64_CC_FLAGS            = DEF(GCC46_X64_CC_FLAGS)
-DEFINE GCC47_IA32_X64_DLINK_COMMON   = DEF(GCC46_IA32_X64_DLINK_COMMON)
 DEFINE GCC47_IA32_X64_ASLDLINK_FLAGS = DEF(GCC46_IA32_X64_ASLDLINK_FLAGS)
 DEFINE GCC47_IA32_X64_DLINK_FLAGS    = DEF(GCC46_IA32_X64_DLINK_FLAGS)
 DEFINE GCC47_IA32_DLINK2_FLAGS       = DEF(GCC46_IA32_DLINK2_FLAGS)
@@ -4212,7 +4209,6 @@ DEFINE GCC47_ASM_FLAGS               = DEF(GCC46_ASM_FLAGS)
 
 DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC47_IA32_CC_FLAGS)
 DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC47_X64_CC_FLAGS)
-DEFINE GCC48_IA32_X64_DLINK_COMMON   = DEF(GCC47_IA32_X64_DLINK_COMMON)
 DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC47_IA32_X64_ASLDLINK_FLAGS)
 DEFINE GCC48_IA32_X64_DLINK_FLAGS    = DEF(GCC47_IA32_X64_DLINK_FLAGS)
 DEFINE GCC48_IA32_DLINK2_FLAGS       = DEF(GCC47_IA32_DLINK2_FLAGS)
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 08/26] BaseTools/tools_def.template: remove GCC47 leaf definitions
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (6 preceding siblings ...)
  2019-01-03  2:47 ` [PATCH 07/26] BaseTools/tools_def.template: remove GCC48_IA32_X64_DLINK_COMMON dead-end Laszlo Ersek
@ 2019-01-03  2:47 ` Laszlo Ersek
  2019-01-03  2:47 ` [PATCH 09/26] BaseTools/tools_def.template: propagate loss of GCC47 references Laszlo Ersek
                   ` (19 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:47 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

Remove the "leaf" definitions for GCC47. These definitions are never
referenced in "tools_def.template" (they are the last GCC47 mentions in
the file), so their removal can't break other definitions. Instead, their
erasure turns other definitions into leaves (subject to further removal).

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 76 --------------------
 1 file changed, 76 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index c14fcdf5f5e5..32b263913814 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4566,82 +4566,6 @@ RELEASE_GCC46_IA32_CC_FLAGS       = DEF(GCC46_IA32_CC_FLAGS) -Os -Wno-unused-but
 RELEASE_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable
   NOOPT_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -O0
 
-####################################################################################
-#
-# GCC 4.7 - This configuration is used to compile under Linux to produce
-#           PE/COFF binaries using GCC 4.7.
-#
-####################################################################################
-*_GCC47_*_*_FAMILY               = GCC
-
-*_GCC47_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
-*_GCC47_*_*_DLL                        = ENV(GCC47_DLL)
-*_GCC47_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
-
-*_GCC47_*_PP_FLAGS                     = DEF(GCC_PP_FLAGS)
-*_GCC47_*_ASLPP_FLAGS                  = DEF(GCC_ASLPP_FLAGS)
-*_GCC47_*_ASLCC_FLAGS                  = DEF(GCC_ASLCC_FLAGS)
-*_GCC47_*_VFRPP_FLAGS                  = DEF(GCC_VFRPP_FLAGS)
-*_GCC47_*_APP_FLAGS                    =
-*_GCC47_*_ASL_FLAGS                    = DEF(IASL_FLAGS)
-*_GCC47_*_ASL_OUTFLAGS                 = DEF(IASL_OUTFLAGS)
-
-##################
-# GCC47 IA32 definitions
-##################
-*_GCC47_IA32_OBJCOPY_PATH         = DEF(GCC47_IA32_PREFIX)objcopy
-*_GCC47_IA32_CC_PATH              = DEF(GCC47_IA32_PREFIX)gcc
-*_GCC47_IA32_SLINK_PATH           = DEF(GCC47_IA32_PREFIX)ar
-*_GCC47_IA32_DLINK_PATH           = DEF(GCC47_IA32_PREFIX)gcc
-*_GCC47_IA32_ASLDLINK_PATH        = DEF(GCC47_IA32_PREFIX)gcc
-*_GCC47_IA32_ASM_PATH             = DEF(GCC47_IA32_PREFIX)gcc
-*_GCC47_IA32_PP_PATH              = DEF(GCC47_IA32_PREFIX)gcc
-*_GCC47_IA32_VFRPP_PATH           = DEF(GCC47_IA32_PREFIX)gcc
-*_GCC47_IA32_ASLCC_PATH           = DEF(GCC47_IA32_PREFIX)gcc
-*_GCC47_IA32_ASLPP_PATH           = DEF(GCC47_IA32_PREFIX)gcc
-*_GCC47_IA32_RC_PATH              = DEF(GCC47_IA32_PREFIX)objcopy
-
-*_GCC47_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32
-*_GCC47_IA32_ASLDLINK_FLAGS       = DEF(GCC47_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
-*_GCC47_IA32_ASM_FLAGS            = DEF(GCC47_ASM_FLAGS) -m32 -march=i386
-*_GCC47_IA32_DLINK_FLAGS          = DEF(GCC47_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
-*_GCC47_IA32_DLINK2_FLAGS         = DEF(GCC47_IA32_DLINK2_FLAGS)
-*_GCC47_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
-*_GCC47_IA32_OBJCOPY_FLAGS        =
-*_GCC47_IA32_NASM_FLAGS           = -f elf32
-
-  DEBUG_GCC47_IA32_CC_FLAGS       = DEF(GCC47_IA32_CC_FLAGS) -Os
-RELEASE_GCC47_IA32_CC_FLAGS       = DEF(GCC47_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable
-  NOOPT_GCC47_IA32_CC_FLAGS       = DEF(GCC47_IA32_CC_FLAGS) -O0
-
-##################
-# GCC47 X64 definitions
-##################
-*_GCC47_X64_OBJCOPY_PATH         = DEF(GCC47_X64_PREFIX)objcopy
-*_GCC47_X64_CC_PATH              = DEF(GCC47_X64_PREFIX)gcc
-*_GCC47_X64_SLINK_PATH           = DEF(GCC47_X64_PREFIX)ar
-*_GCC47_X64_DLINK_PATH           = DEF(GCC47_X64_PREFIX)gcc
-*_GCC47_X64_ASLDLINK_PATH        = DEF(GCC47_X64_PREFIX)gcc
-*_GCC47_X64_ASM_PATH             = DEF(GCC47_X64_PREFIX)gcc
-*_GCC47_X64_PP_PATH              = DEF(GCC47_X64_PREFIX)gcc
-*_GCC47_X64_VFRPP_PATH           = DEF(GCC47_X64_PREFIX)gcc
-*_GCC47_X64_ASLCC_PATH           = DEF(GCC47_X64_PREFIX)gcc
-*_GCC47_X64_ASLPP_PATH           = DEF(GCC47_X64_PREFIX)gcc
-*_GCC47_X64_RC_PATH              = DEF(GCC47_X64_PREFIX)objcopy
-
-*_GCC47_X64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m64
-*_GCC47_X64_ASLDLINK_FLAGS       = DEF(GCC47_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
-*_GCC47_X64_ASM_FLAGS            = DEF(GCC47_ASM_FLAGS) -m64
-*_GCC47_X64_DLINK_FLAGS          = DEF(GCC47_X64_DLINK_FLAGS)
-*_GCC47_X64_DLINK2_FLAGS         = DEF(GCC47_X64_DLINK2_FLAGS)
-*_GCC47_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
-*_GCC47_X64_OBJCOPY_FLAGS        =
-*_GCC47_X64_NASM_FLAGS           = -f elf64
-
-  DEBUG_GCC47_X64_CC_FLAGS       = DEF(GCC47_X64_CC_FLAGS) -Os
-RELEASE_GCC47_X64_CC_FLAGS       = DEF(GCC47_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable
-  NOOPT_GCC47_X64_CC_FLAGS       = DEF(GCC47_X64_CC_FLAGS) -O0
-
 ####################################################################################
 #
 # GCC 4.8 - This configuration is used to compile under Linux to produce
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 09/26] BaseTools/tools_def.template: propagate loss of GCC47 references
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (7 preceding siblings ...)
  2019-01-03  2:47 ` [PATCH 08/26] BaseTools/tools_def.template: remove GCC47 leaf definitions Laszlo Ersek
@ 2019-01-03  2:47 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 10/26] BaseTools/tools_def.template: remove GCC47 documentation Laszlo Ersek
                   ` (18 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:47 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

The last patch decremented references on a number of DEFs. They can be
classified into three groups:

(a) those that remain used by multiple toolchains (refcount >= 2):

- GCC_ASLCC_FLAGS
- GCC_ASLPP_FLAGS
- GCC_HOST_PREFIX
- GCC_IA32_RC_FLAGS
- GCC_PP_FLAGS
- GCC_VFRPP_FLAGS
- GCC_X64_RC_FLAGS
- IASL_FLAGS
- IASL_OUTFLAGS
- UNIX_IASL_BIN

(b) those that are only used by GCC48 (refcount == 1):

- GCC47_ASM_FLAGS
- GCC47_IA32_CC_FLAGS
- GCC47_IA32_DLINK2_FLAGS
- GCC47_IA32_X64_ASLDLINK_FLAGS
- GCC47_IA32_X64_DLINK_FLAGS
- GCC47_X64_CC_FLAGS
- GCC47_X64_DLINK2_FLAGS
- GCC47_X64_DLINK_FLAGS

(c) those that are no longer used (refcount == 0):

- GCC47_IA32_PREFIX
- GCC47_X64_PREFIX

For the members of class (b), expand their definitions at the referring
sites, and remove their definitions.

For the members of class (c), remove their definitions.

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 28 ++++++--------------
 1 file changed, 8 insertions(+), 20 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 32b263913814..adde159d7677 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -196,9 +196,6 @@ DEFINE GCC45_X64_PREFIX        = ENV(GCC45_BIN)
 DEFINE GCC46_IA32_PREFIX       = ENV(GCC46_BIN)
 DEFINE GCC46_X64_PREFIX        = ENV(GCC46_BIN)
 
-DEFINE GCC47_IA32_PREFIX       = ENV(GCC47_BIN)
-DEFINE GCC47_X64_PREFIX        = ENV(GCC47_BIN)
-
 DEFINE GCC48_IA32_PREFIX       = ENV(GCC48_BIN)
 DEFINE GCC48_X64_PREFIX        = ENV(GCC48_BIN)
 
@@ -4198,23 +4195,14 @@ DEFINE GCC46_X64_DLINK_FLAGS         = DEF(GCC45_X64_DLINK_FLAGS)
 DEFINE GCC46_X64_DLINK2_FLAGS        = DEF(GCC45_X64_DLINK2_FLAGS)
 DEFINE GCC46_ASM_FLAGS               = DEF(GCC45_ASM_FLAGS)
 
-DEFINE GCC47_IA32_CC_FLAGS           = DEF(GCC46_IA32_CC_FLAGS)
-DEFINE GCC47_X64_CC_FLAGS            = DEF(GCC46_X64_CC_FLAGS)
-DEFINE GCC47_IA32_X64_ASLDLINK_FLAGS = DEF(GCC46_IA32_X64_ASLDLINK_FLAGS)
-DEFINE GCC47_IA32_X64_DLINK_FLAGS    = DEF(GCC46_IA32_X64_DLINK_FLAGS)
-DEFINE GCC47_IA32_DLINK2_FLAGS       = DEF(GCC46_IA32_DLINK2_FLAGS)
-DEFINE GCC47_X64_DLINK_FLAGS         = DEF(GCC46_X64_DLINK_FLAGS)
-DEFINE GCC47_X64_DLINK2_FLAGS        = DEF(GCC46_X64_DLINK2_FLAGS)
-DEFINE GCC47_ASM_FLAGS               = DEF(GCC46_ASM_FLAGS)
-
-DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC47_IA32_CC_FLAGS)
-DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC47_X64_CC_FLAGS)
-DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC47_IA32_X64_ASLDLINK_FLAGS)
-DEFINE GCC48_IA32_X64_DLINK_FLAGS    = DEF(GCC47_IA32_X64_DLINK_FLAGS)
-DEFINE GCC48_IA32_DLINK2_FLAGS       = DEF(GCC47_IA32_DLINK2_FLAGS)
-DEFINE GCC48_X64_DLINK_FLAGS         = DEF(GCC47_X64_DLINK_FLAGS)
-DEFINE GCC48_X64_DLINK2_FLAGS        = DEF(GCC47_X64_DLINK2_FLAGS)
-DEFINE GCC48_ASM_FLAGS               = DEF(GCC47_ASM_FLAGS)
+DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC46_IA32_CC_FLAGS)
+DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC46_X64_CC_FLAGS)
+DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC46_IA32_X64_ASLDLINK_FLAGS)
+DEFINE GCC48_IA32_X64_DLINK_FLAGS    = DEF(GCC46_IA32_X64_DLINK_FLAGS)
+DEFINE GCC48_IA32_DLINK2_FLAGS       = DEF(GCC46_IA32_DLINK2_FLAGS)
+DEFINE GCC48_X64_DLINK_FLAGS         = DEF(GCC46_X64_DLINK_FLAGS)
+DEFINE GCC48_X64_DLINK2_FLAGS        = DEF(GCC46_X64_DLINK2_FLAGS)
+DEFINE GCC48_ASM_FLAGS               = DEF(GCC46_ASM_FLAGS)
 DEFINE GCC48_ARM_ASM_FLAGS           = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
 DEFINE GCC48_AARCH64_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
 DEFINE GCC48_ARM_CC_FLAGS            = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 10/26] BaseTools/tools_def.template: remove GCC47 documentation
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (8 preceding siblings ...)
  2019-01-03  2:47 ` [PATCH 09/26] BaseTools/tools_def.template: propagate loss of GCC47 references Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 11/26] BaseTools/tools_def.template: remove GCC46 leaf definitions Laszlo Ersek
                   ` (17 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

No GCC47 definitions exist at this point, so remove the GCC47
documentation too, from "tools_def.template".

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index adde159d7677..67cba281539e 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -370,12 +370,6 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler from
 #                               https://acpica.org/downloads
-#   GCC47       -Linux,Windows-  Requires:
-#                             GCC 4.7 targeting x86_64-linux-gnu
-#                        Optional:
-#                             Required to build platforms or ACPI tables:
-#                               Intel(r) ACPI Compiler from
-#                               https://acpica.org/downloads
 #   GCC48       -Linux,Windows-  Requires:
 #                             GCC 4.8 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi
 #                        Optional:
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 11/26] BaseTools/tools_def.template: remove GCC46 leaf definitions
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (9 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 10/26] BaseTools/tools_def.template: remove GCC47 documentation Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 12/26] BaseTools/tools_def.template: propagate loss of GCC46 references Laszlo Ersek
                   ` (16 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

Remove the "leaf" definitions for GCC46. These definitions are never
referenced in "tools_def.template" (they are the last GCC46 mentions in
the file), so their removal can't break other definitions. Instead, their
erasure turns other definitions into leaves (subject to further removal).

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 76 --------------------
 1 file changed, 76 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 67cba281539e..d345050aa844 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4472,82 +4472,6 @@ RELEASE_GCC45_IA32_CC_FLAGS       = DEF(GCC45_IA32_CC_FLAGS) -Os
 RELEASE_GCC45_X64_CC_FLAGS       = DEF(GCC45_X64_CC_FLAGS) -Os
   NOOPT_GCC45_X64_CC_FLAGS       = DEF(GCC45_X64_CC_FLAGS) -O0
 
-####################################################################################
-#
-# GCC 4.6 - This configuration is used to compile under Linux to produce
-#           PE/COFF binaries using GCC 4.6.
-#
-####################################################################################
-*_GCC46_*_*_FAMILY               = GCC
-
-*_GCC46_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
-*_GCC46_*_*_DLL                        = ENV(GCC46_DLL)
-*_GCC46_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
-
-*_GCC46_*_PP_FLAGS                     = DEF(GCC_PP_FLAGS)
-*_GCC46_*_ASLPP_FLAGS                  = DEF(GCC_ASLPP_FLAGS)
-*_GCC46_*_ASLCC_FLAGS                  = DEF(GCC_ASLCC_FLAGS)
-*_GCC46_*_VFRPP_FLAGS                  = DEF(GCC_VFRPP_FLAGS)
-*_GCC46_*_APP_FLAGS                    =
-*_GCC46_*_ASL_FLAGS                    = DEF(IASL_FLAGS)
-*_GCC46_*_ASL_OUTFLAGS                 = DEF(IASL_OUTFLAGS)
-
-##################
-# GCC46 IA32 definitions
-##################
-*_GCC46_IA32_OBJCOPY_PATH         = DEF(GCC46_IA32_PREFIX)objcopy
-*_GCC46_IA32_CC_PATH              = DEF(GCC46_IA32_PREFIX)gcc
-*_GCC46_IA32_SLINK_PATH           = DEF(GCC46_IA32_PREFIX)ar
-*_GCC46_IA32_DLINK_PATH           = DEF(GCC46_IA32_PREFIX)gcc
-*_GCC46_IA32_ASLDLINK_PATH        = DEF(GCC46_IA32_PREFIX)gcc
-*_GCC46_IA32_ASM_PATH             = DEF(GCC46_IA32_PREFIX)gcc
-*_GCC46_IA32_PP_PATH              = DEF(GCC46_IA32_PREFIX)gcc
-*_GCC46_IA32_VFRPP_PATH           = DEF(GCC46_IA32_PREFIX)gcc
-*_GCC46_IA32_ASLCC_PATH           = DEF(GCC46_IA32_PREFIX)gcc
-*_GCC46_IA32_ASLPP_PATH           = DEF(GCC46_IA32_PREFIX)gcc
-*_GCC46_IA32_RC_PATH              = DEF(GCC46_IA32_PREFIX)objcopy
-
-*_GCC46_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32
-*_GCC46_IA32_ASLDLINK_FLAGS       = DEF(GCC46_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
-*_GCC46_IA32_ASM_FLAGS            = DEF(GCC46_ASM_FLAGS) -m32 -march=i386
-*_GCC46_IA32_DLINK_FLAGS          = DEF(GCC46_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
-*_GCC46_IA32_DLINK2_FLAGS         = DEF(GCC46_IA32_DLINK2_FLAGS)
-*_GCC46_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
-*_GCC46_IA32_OBJCOPY_FLAGS        =
-*_GCC46_IA32_NASM_FLAGS           = -f elf32
-
-  DEBUG_GCC46_IA32_CC_FLAGS       = DEF(GCC46_IA32_CC_FLAGS) -Os
-RELEASE_GCC46_IA32_CC_FLAGS       = DEF(GCC46_IA32_CC_FLAGS) -Os -Wno-unused-but-set-variable
-  NOOPT_GCC46_IA32_CC_FLAGS       = DEF(GCC46_IA32_CC_FLAGS) -O0
-
-##################
-# GCC46 X64 definitions
-##################
-*_GCC46_X64_OBJCOPY_PATH         = DEF(GCC46_X64_PREFIX)objcopy
-*_GCC46_X64_CC_PATH              = DEF(GCC46_X64_PREFIX)gcc
-*_GCC46_X64_SLINK_PATH           = DEF(GCC46_X64_PREFIX)ar
-*_GCC46_X64_DLINK_PATH           = DEF(GCC46_X64_PREFIX)gcc
-*_GCC46_X64_ASLDLINK_PATH        = DEF(GCC46_X64_PREFIX)gcc
-*_GCC46_X64_ASM_PATH             = DEF(GCC46_X64_PREFIX)gcc
-*_GCC46_X64_PP_PATH              = DEF(GCC46_X64_PREFIX)gcc
-*_GCC46_X64_VFRPP_PATH           = DEF(GCC46_X64_PREFIX)gcc
-*_GCC46_X64_ASLCC_PATH           = DEF(GCC46_X64_PREFIX)gcc
-*_GCC46_X64_ASLPP_PATH           = DEF(GCC46_X64_PREFIX)gcc
-*_GCC46_X64_RC_PATH              = DEF(GCC46_X64_PREFIX)objcopy
-
-*_GCC46_X64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m64
-*_GCC46_X64_ASLDLINK_FLAGS       = DEF(GCC46_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
-*_GCC46_X64_ASM_FLAGS            = DEF(GCC46_ASM_FLAGS) -m64 -melf_x86_64
-*_GCC46_X64_DLINK_FLAGS          = DEF(GCC46_X64_DLINK_FLAGS)
-*_GCC46_X64_DLINK2_FLAGS         = DEF(GCC46_X64_DLINK2_FLAGS)
-*_GCC46_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
-*_GCC46_X64_OBJCOPY_FLAGS        =
-*_GCC46_X64_NASM_FLAGS           = -f elf64
-
-  DEBUG_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -Os
-RELEASE_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -Os -Wno-unused-but-set-variable
-  NOOPT_GCC46_X64_CC_FLAGS       = DEF(GCC46_X64_CC_FLAGS) -O0
-
 ####################################################################################
 #
 # GCC 4.8 - This configuration is used to compile under Linux to produce
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 12/26] BaseTools/tools_def.template: propagate loss of GCC46 references
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (10 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 11/26] BaseTools/tools_def.template: remove GCC46 leaf definitions Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 13/26] BaseTools/tools_def.template: remove GCC46 documentation Laszlo Ersek
                   ` (15 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

The last patch decremented references on a number of DEFs. They can be
classified into three groups:

(a) those that remain used by multiple toolchains (refcount >= 2):

- GCC_ASLCC_FLAGS
- GCC_ASLPP_FLAGS
- GCC_HOST_PREFIX
- GCC_IA32_RC_FLAGS
- GCC_PP_FLAGS
- GCC_VFRPP_FLAGS
- GCC_X64_RC_FLAGS
- IASL_FLAGS
- IASL_OUTFLAGS
- UNIX_IASL_BIN

(b) those that are only used by GCC48 (refcount == 1):

- GCC46_ASM_FLAGS
- GCC46_IA32_CC_FLAGS
- GCC46_IA32_DLINK2_FLAGS
- GCC46_IA32_X64_ASLDLINK_FLAGS
- GCC46_IA32_X64_DLINK_FLAGS
- GCC46_X64_CC_FLAGS
- GCC46_X64_DLINK2_FLAGS
- GCC46_X64_DLINK_FLAGS

(c) those that are no longer used (refcount == 0):

- GCC46_IA32_PREFIX
- GCC46_X64_PREFIX

For the members of class (b), expand their definitions at the referring
sites, and remove their definitions.

For the members of class (c), remove their definitions.

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 28 ++++++--------------
 1 file changed, 8 insertions(+), 20 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index d345050aa844..dc43fed2b3ad 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -193,9 +193,6 @@ DEFINE GCC44_X64_PREFIX        = ENV(GCC44_BIN)
 DEFINE GCC45_IA32_PREFIX       = ENV(GCC45_BIN)
 DEFINE GCC45_X64_PREFIX        = ENV(GCC45_BIN)
 
-DEFINE GCC46_IA32_PREFIX       = ENV(GCC46_BIN)
-DEFINE GCC46_X64_PREFIX        = ENV(GCC46_BIN)
-
 DEFINE GCC48_IA32_PREFIX       = ENV(GCC48_BIN)
 DEFINE GCC48_X64_PREFIX        = ENV(GCC48_BIN)
 
@@ -4180,23 +4177,14 @@ DEFINE GCC45_X64_DLINK_FLAGS         = DEF(GCC44_X64_DLINK_FLAGS)
 DEFINE GCC45_X64_DLINK2_FLAGS        = DEF(GCC44_X64_DLINK2_FLAGS)
 DEFINE GCC45_ASM_FLAGS               = DEF(GCC44_ASM_FLAGS)
 
-DEFINE GCC46_IA32_CC_FLAGS           = DEF(GCC45_IA32_CC_FLAGS) -Wno-address
-DEFINE GCC46_X64_CC_FLAGS            = DEF(GCC45_X64_CC_FLAGS) -Wno-address
-DEFINE GCC46_IA32_X64_ASLDLINK_FLAGS = DEF(GCC45_IA32_X64_ASLDLINK_FLAGS)
-DEFINE GCC46_IA32_X64_DLINK_FLAGS    = DEF(GCC45_IA32_X64_DLINK_FLAGS)
-DEFINE GCC46_IA32_DLINK2_FLAGS       = DEF(GCC45_IA32_DLINK2_FLAGS)
-DEFINE GCC46_X64_DLINK_FLAGS         = DEF(GCC45_X64_DLINK_FLAGS)
-DEFINE GCC46_X64_DLINK2_FLAGS        = DEF(GCC45_X64_DLINK2_FLAGS)
-DEFINE GCC46_ASM_FLAGS               = DEF(GCC45_ASM_FLAGS)
-
-DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC46_IA32_CC_FLAGS)
-DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC46_X64_CC_FLAGS)
-DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC46_IA32_X64_ASLDLINK_FLAGS)
-DEFINE GCC48_IA32_X64_DLINK_FLAGS    = DEF(GCC46_IA32_X64_DLINK_FLAGS)
-DEFINE GCC48_IA32_DLINK2_FLAGS       = DEF(GCC46_IA32_DLINK2_FLAGS)
-DEFINE GCC48_X64_DLINK_FLAGS         = DEF(GCC46_X64_DLINK_FLAGS)
-DEFINE GCC48_X64_DLINK2_FLAGS        = DEF(GCC46_X64_DLINK2_FLAGS)
-DEFINE GCC48_ASM_FLAGS               = DEF(GCC46_ASM_FLAGS)
+DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC45_IA32_CC_FLAGS) -Wno-address
+DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC45_X64_CC_FLAGS) -Wno-address
+DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC45_IA32_X64_ASLDLINK_FLAGS)
+DEFINE GCC48_IA32_X64_DLINK_FLAGS    = DEF(GCC45_IA32_X64_DLINK_FLAGS)
+DEFINE GCC48_IA32_DLINK2_FLAGS       = DEF(GCC45_IA32_DLINK2_FLAGS)
+DEFINE GCC48_X64_DLINK_FLAGS         = DEF(GCC45_X64_DLINK_FLAGS)
+DEFINE GCC48_X64_DLINK2_FLAGS        = DEF(GCC45_X64_DLINK2_FLAGS)
+DEFINE GCC48_ASM_FLAGS               = DEF(GCC45_ASM_FLAGS)
 DEFINE GCC48_ARM_ASM_FLAGS           = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
 DEFINE GCC48_AARCH64_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
 DEFINE GCC48_ARM_CC_FLAGS            = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 13/26] BaseTools/tools_def.template: remove GCC46 documentation
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (11 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 12/26] BaseTools/tools_def.template: propagate loss of GCC46 references Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 14/26] BaseTools/tools_def.template: remove GCC45 leaf definitions Laszlo Ersek
                   ` (14 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

No GCC46 definitions exist at this point, so remove the GCC46
documentation too, from "tools_def.template".

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index dc43fed2b3ad..cb67a48e4ab5 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -361,12 +361,6 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler from
 #                               https://acpica.org/downloads
-#   GCC46       -Linux,Windows-  Requires:
-#                             GCC 4.6 targeting x86_64-linux-gnu
-#                        Optional:
-#                             Required to build platforms or ACPI tables:
-#                               Intel(r) ACPI Compiler from
-#                               https://acpica.org/downloads
 #   GCC48       -Linux,Windows-  Requires:
 #                             GCC 4.8 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi
 #                        Optional:
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 14/26] BaseTools/tools_def.template: remove GCC45 leaf definitions
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (12 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 13/26] BaseTools/tools_def.template: remove GCC46 documentation Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 15/26] BaseTools/tools_def.template: propagate loss of GCC45 references Laszlo Ersek
                   ` (13 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

Remove the "leaf" definitions for GCC45. These definitions are never
referenced in "tools_def.template" (they are the last GCC45 mentions in
the file), so their removal can't break other definitions. Instead, their
erasure turns other definitions into leaves (subject to further removal).

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 76 --------------------
 1 file changed, 76 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index cb67a48e4ab5..cd6eb8124aad 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4378,82 +4378,6 @@ RELEASE_GCC44_IA32_CC_FLAGS       = DEF(GCC44_IA32_CC_FLAGS) -Os
 RELEASE_GCC44_X64_CC_FLAGS       = DEF(GCC44_X64_CC_FLAGS) -Os
   NOOPT_GCC44_X64_CC_FLAGS       = DEF(GCC44_X64_CC_FLAGS) -O0
 
-####################################################################################
-#
-# GCC 4.5 - This configuration is used to compile under Linux to produce
-#           PE/COFF binaries using GCC 4.5.
-#
-####################################################################################
-*_GCC45_*_*_FAMILY               = GCC
-
-*_GCC45_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
-*_GCC45_*_*_DLL                        = ENV(GCC45_DLL)
-*_GCC45_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
-
-*_GCC45_*_PP_FLAGS                     = DEF(GCC_PP_FLAGS)
-*_GCC45_*_ASLPP_FLAGS                  = DEF(GCC_ASLPP_FLAGS)
-*_GCC45_*_ASLCC_FLAGS                  = DEF(GCC_ASLCC_FLAGS)
-*_GCC45_*_VFRPP_FLAGS                  = DEF(GCC_VFRPP_FLAGS)
-*_GCC45_*_APP_FLAGS                    =
-*_GCC45_*_ASL_FLAGS                    = DEF(IASL_FLAGS)
-*_GCC45_*_ASL_OUTFLAGS                 = DEF(IASL_OUTFLAGS)
-
-##################
-# GCC45 IA32 definitions
-##################
-*_GCC45_IA32_OBJCOPY_PATH         = DEF(GCC45_IA32_PREFIX)objcopy
-*_GCC45_IA32_CC_PATH              = DEF(GCC45_IA32_PREFIX)gcc
-*_GCC45_IA32_SLINK_PATH           = DEF(GCC45_IA32_PREFIX)ar
-*_GCC45_IA32_DLINK_PATH           = DEF(GCC45_IA32_PREFIX)gcc
-*_GCC45_IA32_ASLDLINK_PATH        = DEF(GCC45_IA32_PREFIX)gcc
-*_GCC45_IA32_ASM_PATH             = DEF(GCC45_IA32_PREFIX)gcc
-*_GCC45_IA32_PP_PATH              = DEF(GCC45_IA32_PREFIX)gcc
-*_GCC45_IA32_VFRPP_PATH           = DEF(GCC45_IA32_PREFIX)gcc
-*_GCC45_IA32_ASLCC_PATH           = DEF(GCC45_IA32_PREFIX)gcc
-*_GCC45_IA32_ASLPP_PATH           = DEF(GCC45_IA32_PREFIX)gcc
-*_GCC45_IA32_RC_PATH              = DEF(GCC45_IA32_PREFIX)objcopy
-
-*_GCC45_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32
-*_GCC45_IA32_ASLDLINK_FLAGS       = DEF(GCC45_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
-*_GCC45_IA32_ASM_FLAGS            = DEF(GCC45_ASM_FLAGS) -m32 --32 -march=i386
-*_GCC45_IA32_DLINK_FLAGS          = DEF(GCC45_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
-*_GCC45_IA32_DLINK2_FLAGS         = DEF(GCC45_IA32_DLINK2_FLAGS)
-*_GCC45_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
-*_GCC45_IA32_OBJCOPY_FLAGS        =
-*_GCC45_IA32_NASM_FLAGS           = -f elf32
-
-  DEBUG_GCC45_IA32_CC_FLAGS       = DEF(GCC45_IA32_CC_FLAGS) -Os
-RELEASE_GCC45_IA32_CC_FLAGS       = DEF(GCC45_IA32_CC_FLAGS) -Os
-  NOOPT_GCC45_IA32_CC_FLAGS       = DEF(GCC45_IA32_CC_FLAGS) -O0
-
-##################
-# GCC45 X64 definitions
-##################
-*_GCC45_X64_OBJCOPY_PATH         = DEF(GCC45_X64_PREFIX)objcopy
-*_GCC45_X64_CC_PATH              = DEF(GCC45_X64_PREFIX)gcc
-*_GCC45_X64_SLINK_PATH           = DEF(GCC45_X64_PREFIX)ar
-*_GCC45_X64_DLINK_PATH           = DEF(GCC45_X64_PREFIX)gcc
-*_GCC45_X64_ASLDLINK_PATH        = DEF(GCC45_X64_PREFIX)gcc
-*_GCC45_X64_ASM_PATH             = DEF(GCC45_X64_PREFIX)gcc
-*_GCC45_X64_PP_PATH              = DEF(GCC45_X64_PREFIX)gcc
-*_GCC45_X64_VFRPP_PATH           = DEF(GCC45_X64_PREFIX)gcc
-*_GCC45_X64_ASLCC_PATH           = DEF(GCC45_X64_PREFIX)gcc
-*_GCC45_X64_ASLPP_PATH           = DEF(GCC45_X64_PREFIX)gcc
-*_GCC45_X64_RC_PATH              = DEF(GCC45_X64_PREFIX)objcopy
-
-*_GCC45_X64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m64
-*_GCC45_X64_ASLDLINK_FLAGS       = DEF(GCC45_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
-*_GCC45_X64_ASM_FLAGS            = DEF(GCC45_ASM_FLAGS) -m64 --64 -melf_x86_64
-*_GCC45_X64_DLINK_FLAGS          = DEF(GCC45_X64_DLINK_FLAGS)
-*_GCC45_X64_DLINK2_FLAGS         = DEF(GCC45_X64_DLINK2_FLAGS)
-*_GCC45_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
-*_GCC45_X64_OBJCOPY_FLAGS        =
-*_GCC45_X64_NASM_FLAGS           = -f elf64
-
-  DEBUG_GCC45_X64_CC_FLAGS       = DEF(GCC45_X64_CC_FLAGS) -Os
-RELEASE_GCC45_X64_CC_FLAGS       = DEF(GCC45_X64_CC_FLAGS) -Os
-  NOOPT_GCC45_X64_CC_FLAGS       = DEF(GCC45_X64_CC_FLAGS) -O0
-
 ####################################################################################
 #
 # GCC 4.8 - This configuration is used to compile under Linux to produce
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 15/26] BaseTools/tools_def.template: propagate loss of GCC45 references
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (13 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 14/26] BaseTools/tools_def.template: remove GCC45 leaf definitions Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 16/26] BaseTools/tools_def.template: remove GCC45 documentation Laszlo Ersek
                   ` (12 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

The last patch decremented references on a number of DEFs. They can be
classified into three groups:

(a) those that remain used by multiple toolchains (refcount >= 2):

- GCC_ASLCC_FLAGS
- GCC_ASLPP_FLAGS
- GCC_HOST_PREFIX
- GCC_IA32_RC_FLAGS
- GCC_PP_FLAGS
- GCC_VFRPP_FLAGS
- GCC_X64_RC_FLAGS
- IASL_FLAGS
- IASL_OUTFLAGS
- UNIX_IASL_BIN

(b) those that are only used by GCC48 (refcount == 1):

- GCC45_ASM_FLAGS
- GCC45_IA32_CC_FLAGS
- GCC45_IA32_DLINK2_FLAGS
- GCC45_IA32_X64_ASLDLINK_FLAGS
- GCC45_IA32_X64_DLINK_FLAGS
- GCC45_X64_CC_FLAGS
- GCC45_X64_DLINK2_FLAGS
- GCC45_X64_DLINK_FLAGS

(c) those that are no longer used (refcount == 0):

- GCC45_IA32_PREFIX
- GCC45_X64_PREFIX

For the members of class (b), expand their definitions at the referring
sites, and remove their definitions.

For the members of class (c), remove their definitions.

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 28 ++++++--------------
 1 file changed, 8 insertions(+), 20 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index cd6eb8124aad..a848bfef700b 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -190,9 +190,6 @@ DEFINE CYGWIN_BINX64           = c:/cygwin/opt/tiano/x86_64-pc-mingw64/x86_64-pc
 DEFINE GCC44_IA32_PREFIX       = ENV(GCC44_BIN)
 DEFINE GCC44_X64_PREFIX        = ENV(GCC44_BIN)
 
-DEFINE GCC45_IA32_PREFIX       = ENV(GCC45_BIN)
-DEFINE GCC45_X64_PREFIX        = ENV(GCC45_BIN)
-
 DEFINE GCC48_IA32_PREFIX       = ENV(GCC48_BIN)
 DEFINE GCC48_X64_PREFIX        = ENV(GCC48_BIN)
 
@@ -4162,23 +4159,14 @@ DEFINE GCC44_X64_DLINK_FLAGS         = DEF(GCC44_IA32_X64_DLINK_FLAGS) -Wl,-melf
 DEFINE GCC44_X64_DLINK2_FLAGS        = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON)
 DEFINE GCC44_ASM_FLAGS               = DEF(GCC_ASM_FLAGS)
 
-DEFINE GCC45_IA32_CC_FLAGS           = DEF(GCC44_IA32_CC_FLAGS)
-DEFINE GCC45_X64_CC_FLAGS            = DEF(GCC44_X64_CC_FLAGS)
-DEFINE GCC45_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_ASLDLINK_FLAGS)
-DEFINE GCC45_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_FLAGS)
-DEFINE GCC45_IA32_DLINK2_FLAGS       = DEF(GCC44_IA32_DLINK2_FLAGS)
-DEFINE GCC45_X64_DLINK_FLAGS         = DEF(GCC44_X64_DLINK_FLAGS)
-DEFINE GCC45_X64_DLINK2_FLAGS        = DEF(GCC44_X64_DLINK2_FLAGS)
-DEFINE GCC45_ASM_FLAGS               = DEF(GCC44_ASM_FLAGS)
-
-DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC45_IA32_CC_FLAGS) -Wno-address
-DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC45_X64_CC_FLAGS) -Wno-address
-DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC45_IA32_X64_ASLDLINK_FLAGS)
-DEFINE GCC48_IA32_X64_DLINK_FLAGS    = DEF(GCC45_IA32_X64_DLINK_FLAGS)
-DEFINE GCC48_IA32_DLINK2_FLAGS       = DEF(GCC45_IA32_DLINK2_FLAGS)
-DEFINE GCC48_X64_DLINK_FLAGS         = DEF(GCC45_X64_DLINK_FLAGS)
-DEFINE GCC48_X64_DLINK2_FLAGS        = DEF(GCC45_X64_DLINK2_FLAGS)
-DEFINE GCC48_ASM_FLAGS               = DEF(GCC45_ASM_FLAGS)
+DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC44_IA32_CC_FLAGS) -Wno-address
+DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC44_X64_CC_FLAGS) -Wno-address
+DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_ASLDLINK_FLAGS)
+DEFINE GCC48_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_FLAGS)
+DEFINE GCC48_IA32_DLINK2_FLAGS       = DEF(GCC44_IA32_DLINK2_FLAGS)
+DEFINE GCC48_X64_DLINK_FLAGS         = DEF(GCC44_X64_DLINK_FLAGS)
+DEFINE GCC48_X64_DLINK2_FLAGS        = DEF(GCC44_X64_DLINK2_FLAGS)
+DEFINE GCC48_ASM_FLAGS               = DEF(GCC44_ASM_FLAGS)
 DEFINE GCC48_ARM_ASM_FLAGS           = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
 DEFINE GCC48_AARCH64_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
 DEFINE GCC48_ARM_CC_FLAGS            = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 16/26] BaseTools/tools_def.template: remove GCC45 documentation
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (14 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 15/26] BaseTools/tools_def.template: propagate loss of GCC45 references Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 17/26] BaseTools/tools_def.template: remove GCC44 leaf definitions Laszlo Ersek
                   ` (11 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

No GCC45 definitions exist at this point, so remove the GCC45
documentation too, from "tools_def.template".

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index a848bfef700b..bd530c73e216 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -352,12 +352,6 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler from
 #                               https://acpica.org/downloads
-#   GCC45       -Linux,Windows-  Requires:
-#                             GCC 4.5 targeting x86_64-linux-gnu
-#                        Optional:
-#                             Required to build platforms or ACPI tables:
-#                               Intel(r) ACPI Compiler from
-#                               https://acpica.org/downloads
 #   GCC48       -Linux,Windows-  Requires:
 #                             GCC 4.8 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi
 #                        Optional:
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 17/26] BaseTools/tools_def.template: remove GCC44 leaf definitions
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (15 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 16/26] BaseTools/tools_def.template: remove GCC45 documentation Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 18/26] BaseTools/tools_def.template: propagate loss of GCC44 references Laszlo Ersek
                   ` (10 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

Remove the "leaf" definitions for GCC44. These definitions are never
referenced in "tools_def.template", so their removal can't break other
definitions. Instead, their erasure turns other definitions into leaves
(subject to further removal).

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 76 --------------------
 1 file changed, 76 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index bd530c73e216..3596eac9e0e4 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4284,82 +4284,6 @@ DEFINE GCC5_AARCH64_ASLDLINK_FLAGS   = DEF(GCC49_AARCH64_ASLDLINK_FLAGS)
 *_UNIXGCC_X64_OBJCOPY_FLAGS         =
 *_UNIXGCC_X64_NASM_FLAGS            = -f win64
 
-####################################################################################
-#
-# GCC 4.4 - This configuration is used to compile under Linux to produce
-#           PE/COFF binaries using GCC 4.4.
-#
-####################################################################################
-*_GCC44_*_*_FAMILY               = GCC
-
-*_GCC44_*_MAKE_PATH                    = DEF(GCC_HOST_PREFIX)make
-*_GCC44_*_*_DLL                        = ENV(GCC44_DLL)
-*_GCC44_*_ASL_PATH                     = DEF(UNIX_IASL_BIN)
-
-*_GCC44_*_PP_FLAGS                     = DEF(GCC_PP_FLAGS)
-*_GCC44_*_ASLPP_FLAGS                  = DEF(GCC_ASLPP_FLAGS)
-*_GCC44_*_ASLCC_FLAGS                  = DEF(GCC_ASLCC_FLAGS)
-*_GCC44_*_VFRPP_FLAGS                  = DEF(GCC_VFRPP_FLAGS)
-*_GCC44_*_APP_FLAGS                    = DEF(GCC_PP_FLAGS)
-*_GCC44_*_ASL_FLAGS                    = DEF(IASL_FLAGS)
-*_GCC44_*_ASL_OUTFLAGS                 = DEF(IASL_OUTFLAGS)
-
-##################
-# GCC44 IA32 definitions
-##################
-*_GCC44_IA32_OBJCOPY_PATH         = DEF(GCC44_IA32_PREFIX)objcopy
-*_GCC44_IA32_CC_PATH              = DEF(GCC44_IA32_PREFIX)gcc
-*_GCC44_IA32_SLINK_PATH           = DEF(GCC44_IA32_PREFIX)ar
-*_GCC44_IA32_DLINK_PATH           = DEF(GCC44_IA32_PREFIX)gcc
-*_GCC44_IA32_ASLDLINK_PATH        = DEF(GCC44_IA32_PREFIX)gcc
-*_GCC44_IA32_ASM_PATH             = DEF(GCC44_IA32_PREFIX)gcc
-*_GCC44_IA32_PP_PATH              = DEF(GCC44_IA32_PREFIX)gcc
-*_GCC44_IA32_VFRPP_PATH           = DEF(GCC44_IA32_PREFIX)gcc
-*_GCC44_IA32_ASLCC_PATH           = DEF(GCC44_IA32_PREFIX)gcc
-*_GCC44_IA32_ASLPP_PATH           = DEF(GCC44_IA32_PREFIX)gcc
-*_GCC44_IA32_RC_PATH              = DEF(GCC44_IA32_PREFIX)objcopy
-
-*_GCC44_IA32_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m32
-*_GCC44_IA32_ASLDLINK_FLAGS       = DEF(GCC44_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386
-*_GCC44_IA32_ASM_FLAGS            = DEF(GCC44_ASM_FLAGS) -m32 --32 -march=i386
-*_GCC44_IA32_DLINK_FLAGS          = DEF(GCC44_IA32_X64_DLINK_FLAGS) -Wl,-m,elf_i386,--oformat=elf32-i386
-*_GCC44_IA32_DLINK2_FLAGS         = DEF(GCC44_IA32_DLINK2_FLAGS)
-*_GCC44_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)
-*_GCC44_IA32_OBJCOPY_FLAGS        =
-*_GCC44_IA32_NASM_FLAGS           = -f elf32
-
-  DEBUG_GCC44_IA32_CC_FLAGS       = DEF(GCC44_IA32_CC_FLAGS) -Os
-RELEASE_GCC44_IA32_CC_FLAGS       = DEF(GCC44_IA32_CC_FLAGS) -Os
-  NOOPT_GCC44_IA32_CC_FLAGS       = DEF(GCC44_IA32_CC_FLAGS) -O0
-
-##################
-# GCC44 X64 definitions
-##################
-*_GCC44_X64_OBJCOPY_PATH         = DEF(GCC44_X64_PREFIX)objcopy
-*_GCC44_X64_CC_PATH              = DEF(GCC44_X64_PREFIX)gcc
-*_GCC44_X64_SLINK_PATH           = DEF(GCC44_X64_PREFIX)ar
-*_GCC44_X64_DLINK_PATH           = DEF(GCC44_X64_PREFIX)gcc
-*_GCC44_X64_ASLDLINK_PATH        = DEF(GCC44_X64_PREFIX)gcc
-*_GCC44_X64_ASM_PATH             = DEF(GCC44_X64_PREFIX)gcc
-*_GCC44_X64_PP_PATH              = DEF(GCC44_X64_PREFIX)gcc
-*_GCC44_X64_VFRPP_PATH           = DEF(GCC44_X64_PREFIX)gcc
-*_GCC44_X64_ASLCC_PATH           = DEF(GCC44_X64_PREFIX)gcc
-*_GCC44_X64_ASLPP_PATH           = DEF(GCC44_X64_PREFIX)gcc
-*_GCC44_X64_RC_PATH              = DEF(GCC44_X64_PREFIX)objcopy
-
-*_GCC44_X64_ASLCC_FLAGS          = DEF(GCC_ASLCC_FLAGS) -m64
-*_GCC44_X64_ASLDLINK_FLAGS       = DEF(GCC44_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
-*_GCC44_X64_ASM_FLAGS            = DEF(GCC44_ASM_FLAGS) -m64 --64 -melf_x86_64
-*_GCC44_X64_DLINK_FLAGS          = DEF(GCC44_X64_DLINK_FLAGS)
-*_GCC44_X64_DLINK2_FLAGS         = DEF(GCC44_X64_DLINK2_FLAGS)
-*_GCC44_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)
-*_GCC44_X64_OBJCOPY_FLAGS        =
-*_GCC44_X64_NASM_FLAGS           = -f elf64
-
-  DEBUG_GCC44_X64_CC_FLAGS       = DEF(GCC44_X64_CC_FLAGS) -Os
-RELEASE_GCC44_X64_CC_FLAGS       = DEF(GCC44_X64_CC_FLAGS) -Os
-  NOOPT_GCC44_X64_CC_FLAGS       = DEF(GCC44_X64_CC_FLAGS) -O0
-
 ####################################################################################
 #
 # GCC 4.8 - This configuration is used to compile under Linux to produce
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 18/26] BaseTools/tools_def.template: propagate loss of GCC44 references
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (16 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 17/26] BaseTools/tools_def.template: remove GCC44 leaf definitions Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 19/26] BaseTools/tools_def.template: rename GCC44_ALL_CC_FLAGS to GCC48_ALL_CC_FLAGS Laszlo Ersek
                   ` (9 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

The last patch decremented references on a number of DEFs. They can be
classified into three groups:

(a) those that remain used by multiple toolchains, or by multiple
definitions of a given toolchain (refcount >= 2):

- GCC_ASLCC_FLAGS
- GCC_ASLPP_FLAGS
- GCC_HOST_PREFIX
- GCC_IA32_RC_FLAGS
- GCC_PP_FLAGS
- GCC_VFRPP_FLAGS
- GCC_X64_RC_FLAGS
- IASL_FLAGS
- IASL_OUTFLAGS
- UNIX_IASL_BIN
- GCC44_IA32_X64_DLINK_FLAGS (!)

(b) those that are only used by GCC48 (refcount == 1):

- GCC44_ASM_FLAGS
- GCC44_IA32_CC_FLAGS
- GCC44_IA32_DLINK2_FLAGS
- GCC44_IA32_X64_ASLDLINK_FLAGS
- GCC44_X64_CC_FLAGS
- GCC44_X64_DLINK2_FLAGS
- GCC44_X64_DLINK_FLAGS

(c) those that are no longer used (refcount == 0):

- GCC44_IA32_PREFIX
- GCC44_X64_PREFIX

For the members of class (b), expand their definitions at the referring
sites, and remove their definitions.

For the members of class (c), remove their definitions.

(It's easier to review this patch with "git show --word-diff".)

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 24 ++++++--------------
 1 file changed, 7 insertions(+), 17 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 3596eac9e0e4..91f1b1d04e02 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -187,9 +187,6 @@ DEFINE CYGWIN_BIN              = c:/cygwin/bin
 DEFINE CYGWIN_BINIA32          = c:/cygwin/opt/tiano/i386-tiano-pe/i386-tiano-pe/bin/
 DEFINE CYGWIN_BINX64           = c:/cygwin/opt/tiano/x86_64-pc-mingw64/x86_64-pc-mingw64/bin/
 
-DEFINE GCC44_IA32_PREFIX       = ENV(GCC44_BIN)
-DEFINE GCC44_X64_PREFIX        = ENV(GCC44_BIN)
-
 DEFINE GCC48_IA32_PREFIX       = ENV(GCC48_BIN)
 DEFINE GCC48_X64_PREFIX        = ENV(GCC48_BIN)
 
@@ -4143,24 +4140,17 @@ DEFINE GCC_ARM_RC_FLAGS            = -I binary -O elf32-littlearm     -B arm
 DEFINE GCC_AARCH64_RC_FLAGS        = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii
 
 DEFINE GCC44_ALL_CC_FLAGS            = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
-DEFINE GCC44_IA32_CC_FLAGS           = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables
-DEFINE GCC44_X64_CC_FLAGS            = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables
 DEFINE GCC44_IA32_X64_DLINK_COMMON   = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
-DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
 DEFINE GCC44_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
-DEFINE GCC44_IA32_DLINK2_FLAGS       = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
-DEFINE GCC44_X64_DLINK_FLAGS         = DEF(GCC44_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
-DEFINE GCC44_X64_DLINK2_FLAGS        = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON)
-DEFINE GCC44_ASM_FLAGS               = DEF(GCC_ASM_FLAGS)
 
-DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC44_IA32_CC_FLAGS) -Wno-address
-DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC44_X64_CC_FLAGS) -Wno-address
-DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_ASLDLINK_FLAGS)
+DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
+DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
+DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
 DEFINE GCC48_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_FLAGS)
-DEFINE GCC48_IA32_DLINK2_FLAGS       = DEF(GCC44_IA32_DLINK2_FLAGS)
-DEFINE GCC48_X64_DLINK_FLAGS         = DEF(GCC44_X64_DLINK_FLAGS)
-DEFINE GCC48_X64_DLINK2_FLAGS        = DEF(GCC44_X64_DLINK2_FLAGS)
-DEFINE GCC48_ASM_FLAGS               = DEF(GCC44_ASM_FLAGS)
+DEFINE GCC48_IA32_DLINK2_FLAGS       = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
+DEFINE GCC48_X64_DLINK_FLAGS         = DEF(GCC44_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
+DEFINE GCC48_X64_DLINK2_FLAGS        = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON)
+DEFINE GCC48_ASM_FLAGS               = DEF(GCC_ASM_FLAGS)
 DEFINE GCC48_ARM_ASM_FLAGS           = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
 DEFINE GCC48_AARCH64_ASM_FLAGS       = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
 DEFINE GCC48_ARM_CC_FLAGS            = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ARM_CC_FLAGS) -fstack-protector -mword-relocations
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 19/26] BaseTools/tools_def.template: rename GCC44_ALL_CC_FLAGS to GCC48_ALL_CC_FLAGS
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (17 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 18/26] BaseTools/tools_def.template: propagate loss of GCC44 references Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 20/26] BaseTools/tools_def.template: eliminate GCC44_IA32_X64_DLINK_FLAGS Laszlo Ersek
                   ` (8 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

GCC44_ALL_CC_FLAGS is only referenced by:
- GCC48_IA32_CC_FLAGS,
- GCC48_X64_CC_FLAGS,
- GCC49_AARCH64_CC_FLAGS,
- CLANG38_ALL_CC_FLAGS.

Thus, we can rename ("raise") it to GCC48_ALL_CC_FLAGS.

(It's easier to review this patch with "git show --word-diff".)

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 91f1b1d04e02..b3fbb73f4853 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4139,12 +4139,12 @@ DEFINE GCC_X64_RC_FLAGS            = -I binary -O elf64-x86-64        -B i386
 DEFINE GCC_ARM_RC_FLAGS            = -I binary -O elf32-littlearm     -B arm     --rename-section .data=.hii
 DEFINE GCC_AARCH64_RC_FLAGS        = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii
 
-DEFINE GCC44_ALL_CC_FLAGS            = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
+DEFINE GCC48_ALL_CC_FLAGS            = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
 DEFINE GCC44_IA32_X64_DLINK_COMMON   = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
 DEFINE GCC44_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
 
-DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC44_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
-DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC44_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
+DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
+DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
 DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
 DEFINE GCC48_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_FLAGS)
 DEFINE GCC48_IA32_DLINK2_FLAGS       = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
@@ -4177,7 +4177,7 @@ DEFINE GCC49_ARM_ASM_FLAGS           = DEF(GCC48_ARM_ASM_FLAGS)
 DEFINE GCC49_AARCH64_ASM_FLAGS       = DEF(GCC48_AARCH64_ASM_FLAGS)
 DEFINE GCC49_ARM_CC_FLAGS            = DEF(GCC48_ARM_CC_FLAGS)
 DEFINE GCC49_ARM_CC_XIPFLAGS         = DEF(GCC48_ARM_CC_XIPFLAGS)
-DEFINE GCC49_AARCH64_CC_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC44_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -mcmodel=small
+DEFINE GCC49_AARCH64_CC_FLAGS        = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) DEF(GCC48_ALL_CC_FLAGS) DEF(GCC_AARCH64_CC_FLAGS) -mcmodel=small
 DEFINE GCC49_AARCH64_CC_XIPFLAGS     = DEF(GCC48_AARCH64_CC_XIPFLAGS)
 DEFINE GCC49_ARM_DLINK_FLAGS         = DEF(GCC48_ARM_DLINK_FLAGS)
 DEFINE GCC49_ARM_DLINK2_FLAGS        = DEF(GCC48_ARM_DLINK2_FLAGS)
@@ -4818,7 +4818,7 @@ DEFINE CLANG38_IA32_TARGET          = -target i686-pc-linux-gnu
 DEFINE CLANG38_X64_TARGET           = -target x86_64-pc-linux-gnu
 
 DEFINE CLANG38_WARNING_OVERRIDES    = -Wno-parentheses-equality -Wno-tautological-compare -Wno-tautological-constant-out-of-range-compare -Wno-empty-body -Wno-unused-const-variable -Wno-varargs -Wno-unknown-warning-option
-DEFINE CLANG38_ALL_CC_FLAGS         = DEF(GCC44_ALL_CC_FLAGS) DEF(CLANG38_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float  -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference
+DEFINE CLANG38_ALL_CC_FLAGS         = DEF(GCC48_ALL_CC_FLAGS) DEF(CLANG38_WARNING_OVERRIDES) -fno-stack-protector -mms-bitfields -Wno-address -Wno-shift-negative-value -Wno-unknown-pragmas -Wno-incompatible-library-redeclaration -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -msoft-float -mno-implicit-float  -ftrap-function=undefined_behavior_has_been_optimized_away_by_clang -funsigned-char -fno-ms-extensions -Wno-null-dereference
 
 ###########################
 # CLANG38 IA32 definitions
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 20/26] BaseTools/tools_def.template: eliminate GCC44_IA32_X64_DLINK_FLAGS
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (18 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 19/26] BaseTools/tools_def.template: rename GCC44_ALL_CC_FLAGS to GCC48_ALL_CC_FLAGS Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 21/26] BaseTools/tools_def.template: rename GCC44_IA32_X64_DLINK_COMMON to GCC48_IA32_X64_DLINK_COMMON Laszlo Ersek
                   ` (7 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

GCC48_IA32_X64_DLINK_FLAGS is defined *wholly* as
GCC44_IA32_X64_DLINK_FLAGS, therefore:

- expand the contents of GCC44_IA32_X64_DLINK_FLAGS into
  GCC48_IA32_X64_DLINK_FLAGS,

- re-point all references of GCC44_IA32_X64_DLINK_FLAGS to
  GCC48_IA32_X64_DLINK_FLAGS,

- remove GCC44_IA32_X64_DLINK_FLAGS.

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index b3fbb73f4853..28e8f31cb9ee 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4141,14 +4141,13 @@ DEFINE GCC_AARCH64_RC_FLAGS        = -I binary -O elf64-littleaarch64 -B aarch64
 
 DEFINE GCC48_ALL_CC_FLAGS            = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
 DEFINE GCC44_IA32_X64_DLINK_COMMON   = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
-DEFINE GCC44_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
 
 DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
 DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
 DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
-DEFINE GCC48_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_FLAGS)
+DEFINE GCC48_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
 DEFINE GCC48_IA32_DLINK2_FLAGS       = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
-DEFINE GCC48_X64_DLINK_FLAGS         = DEF(GCC44_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
+DEFINE GCC48_X64_DLINK_FLAGS         = DEF(GCC48_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
 DEFINE GCC48_X64_DLINK2_FLAGS        = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON)
 DEFINE GCC48_ASM_FLAGS               = DEF(GCC_ASM_FLAGS)
 DEFINE GCC48_ARM_ASM_FLAGS           = $(ARCHASM_FLAGS) $(PLATFORM_FLAGS) DEF(GCC_ASM_FLAGS) -mlittle-endian
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 21/26] BaseTools/tools_def.template: rename GCC44_IA32_X64_DLINK_COMMON to GCC48_IA32_X64_DLINK_COMMON
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (19 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 20/26] BaseTools/tools_def.template: eliminate GCC44_IA32_X64_DLINK_FLAGS Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 22/26] BaseTools/tools_def.template: remove comment about GCC44 + LzmaF86Compress Laszlo Ersek
                   ` (6 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

GCC44_IA32_X64_DLINK_COMMON is only referenced by:
- GCC48_IA32_X64_ASLDLINK_FLAGS,
- GCC48_IA32_X64_DLINK_FLAGS.

Thus, we can rename ("raise") it to GCC48_IA32_X64_DLINK_COMMON.

(It's easier to review this patch with "git show --word-diff".)

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 28e8f31cb9ee..d1324d56a1a4 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -4140,12 +4140,11 @@ DEFINE GCC_ARM_RC_FLAGS            = -I binary -O elf32-littlearm     -B arm
 DEFINE GCC_AARCH64_RC_FLAGS        = -I binary -O elf64-littleaarch64 -B aarch64 --rename-section .data=.hii
 
 DEFINE GCC48_ALL_CC_FLAGS            = -g -fshort-wchar -fno-builtin -fno-strict-aliasing -Wall -Werror -Wno-array-bounds -ffunction-sections -fdata-sections -include AutoGen.h -fno-common -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings
-DEFINE GCC44_IA32_X64_DLINK_COMMON   = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
-
+DEFINE GCC48_IA32_X64_DLINK_COMMON   = -nostdlib -Wl,-n,-q,--gc-sections -z common-page-size=0x20
 DEFINE GCC48_IA32_CC_FLAGS           = DEF(GCC48_ALL_CC_FLAGS) -m32 -march=i586 -malign-double -fno-stack-protector -D EFI32 -fno-asynchronous-unwind-tables -Wno-address
 DEFINE GCC48_X64_CC_FLAGS            = DEF(GCC48_ALL_CC_FLAGS) -m64 -fno-stack-protector "-DEFIAPI=__attribute__((ms_abi))" -maccumulate-outgoing-args -mno-red-zone -Wno-address -mcmodel=small -fpie -fno-asynchronous-unwind-tables -Wno-address
-DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
-DEFINE GCC48_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
+DEFINE GCC48_IA32_X64_ASLDLINK_FLAGS = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,ReferenceAcpiTable -u ReferenceAcpiTable
+DEFINE GCC48_IA32_X64_DLINK_FLAGS    = DEF(GCC48_IA32_X64_DLINK_COMMON) -Wl,--entry,$(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Wl,-Map,$(DEST_DIR_DEBUG)/$(BASE_NAME).map,--whole-archive
 DEFINE GCC48_IA32_DLINK2_FLAGS       = -Wl,--defsym=PECOFF_HEADER_SIZE=0x220 DEF(GCC_DLINK2_FLAGS_COMMON)
 DEFINE GCC48_X64_DLINK_FLAGS         = DEF(GCC48_IA32_X64_DLINK_FLAGS) -Wl,-melf_x86_64,--oformat=elf64-x86-64,-pie
 DEFINE GCC48_X64_DLINK2_FLAGS        = -Wl,--defsym=PECOFF_HEADER_SIZE=0x228 DEF(GCC_DLINK2_FLAGS_COMMON)
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 22/26] BaseTools/tools_def.template: remove comment about GCC44 + LzmaF86Compress
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (20 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 21/26] BaseTools/tools_def.template: rename GCC44_IA32_X64_DLINK_COMMON to GCC48_IA32_X64_DLINK_COMMON Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 23/26] BaseTools/tools_def.template: remove GCC44 documentation Laszlo Ersek
                   ` (5 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

"tools_def.template" currently suggests, in the documentation of the
LzmaF86Compress utility, that said tool is generally unhelpful on binaries
built with the GCC44 toolchain, relative to LzmaCompress.

This statement doesn't apply to the GCC48 toolchain. I compressed 126
NOOPT_GCC48/IA32 unique EFI modules (built with gcc-4.8.5, as part of
OVMF) with both LzmaCompress and LzmaF86Compress. I repeated the same for
117 NOOPT_GCC48/X64 unique EFI modules. On average, the LzmaF86Compress
output size was 92.4% of the LzmaCompress output size in the IA32 case
(best relative compression: 86.01%, poorest relative compression: 97.47%
-- still a win). In the X64 case, the LzmaF86Compress output size was
92.95% of the LzmaCompress output size, on avarege (best relative
compression: 87.69%, poorest relative compression: 97.65% -- again, still
a win).

Given the consistent improvement from LzmaCompress to LzmaF86Compress,
remove the statement (rather than updating it to GCC48).

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 1 -
 1 file changed, 1 deletion(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index d1324d56a1a4..5afbb4ff2743 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -6588,7 +6588,6 @@ RELEASE_RVCTCYGWIN_ARM_CC_FLAGS  = "$(CCPATH_FLAG)" $(ARCHCC_FLAGS) $(PLATFORM_F
 ##################
 # LzmaF86Compress tool definitions with converter for x86 code.
 # It can improve the compression ratio if the input file is IA32 or X64 PE image.
-# Notes: If X64 PE image is built based on GCC44, it may not get the better compression.
 ##################
 *_*_*_LZMAF86_PATH         = LzmaF86Compress
 *_*_*_LZMAF86_GUID         = D42AE6BD-1352-4bfb-909A-CA72A6EAE889
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 23/26] BaseTools/tools_def.template: remove GCC44 documentation
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (21 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 22/26] BaseTools/tools_def.template: remove comment about GCC44 + LzmaF86Compress Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  2:48 ` [PATCH 24/26] ArmPkg/ArmSoftFloatLib: drop build flags specific to GCC46/GCC47 Laszlo Ersek
                   ` (4 subsequent siblings)
  27 siblings, 0 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Bob Feng, Liming Gao, Yonghong Zhu

No GCC44 definitions or remarks exist at this point, so remove the GCC44
documentation too, from "tools_def.template".

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 BaseTools/Conf/tools_def.template | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
index 5afbb4ff2743..4d74816837ab 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -343,12 +343,6 @@ DEFINE DTC_BIN                 = ENV(DTC_PREFIX)dtc
 #                             Required to build platforms or ACPI tables:
 #                               Intel(r) ACPI Compiler from
 #                               https://acpica.org/downloads
-#   GCC44       -Linux,Windows-  Requires:
-#                             GCC 4.4 targeting x86_64-linux-gnu
-#                        Optional:
-#                             Required to build platforms or ACPI tables:
-#                               Intel(r) ACPI Compiler from
-#                               https://acpica.org/downloads
 #   GCC48       -Linux,Windows-  Requires:
 #                             GCC 4.8 targeting x86_64-linux-gnu, aarch64-linux-gnu, or arm-linux-gnueabi
 #                        Optional:
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 24/26] ArmPkg/ArmSoftFloatLib: drop build flags specific to GCC46/GCC47
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (22 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 23/26] BaseTools/tools_def.template: remove GCC44 documentation Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  9:33   ` Ard Biesheuvel
  2019-01-03  2:48 ` [PATCH 25/26] CryptoPkg/BaseCryptLib: drop build flags specific to GCC44 Laszlo Ersek
                   ` (3 subsequent siblings)
  27 siblings, 1 reply; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01

We've removed BaseTools support for GCC44..GCC47. Drop
ArmPkg/ArmSoftFloatLib build flags that are specific to any of those gcc
versions. (See also commit 01627dba0911, "ArmPkg/ArmSoftfloatLib: restrict
-fno-tree-vrp option to GCC46 and GCC47", 2015-12-15).

No GCC44..GCC47 references remain under ArmPkg after this patch.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
    Build-tested with a 32-bit ArmVirtQemu build, with -D
    SECURE_BOOT_ENABLE, using the GCC5 toolchain. Such a build consumes
    ArmSoftFloatLib via OpensslLib.

 ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf | 2 --
 1 file changed, 2 deletions(-)

diff --git a/ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf b/ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
index 3c76381b25dc..9c4cd62b3dd9 100644
--- a/ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
+++ b/ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
@@ -49,6 +49,4 @@ [Packages]
 
 [BuildOptions]
   GCC:*_*_*_CC_FLAGS = -DSOFTFLOAT_FOR_GCC -Wno-enum-compare -fno-lto
-  *_GCC46_*_CC_FLAGS = -fno-tree-vrp
-  *_GCC47_*_CC_FLAGS = -fno-tree-vrp
   RVCT:*_*_*_CC_FLAGS = -DSOFTFLOAT_FOR_GCC
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 25/26] CryptoPkg/BaseCryptLib: drop build flags specific to GCC44
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (23 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 24/26] ArmPkg/ArmSoftFloatLib: drop build flags specific to GCC46/GCC47 Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  5:02   ` Wang, Jian J
  2019-01-03  2:48 ` [PATCH 26/26] Revert "MdePkg: avoid __builtin_unreachable() on GCC v4.4" Laszlo Ersek
                   ` (2 subsequent siblings)
  27 siblings, 1 reply; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01; +Cc: Gang Wei, Jian Wang, Ting Ye

We've removed BaseTools support for GCC44..GCC47. Drop
CryptoPkg/BaseCryptLib build flags that are specific to any of those gcc
versions.

No GCC44..GCC47 references remain under CryptoPkg after this patch.

Cc: Gang Wei <gang.wei@intel.com>
Cc: Jian Wang <jian.j.wang@intel.com>
Cc: Ting Ye <ting.ye@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
    Build tested with:
    
    (
      set -e
      for INF in CryptoPkg/Library/BaseCryptLib/*.inf; do
        build -t GCC48 -a IA32 -b DEBUG -p CryptoPkg/CryptoPkg.dsc \
          -m "$INF"
      done
    )

 CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf    | 2 --
 CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf     | 2 --
 CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf | 2 --
 CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf     | 1 -
 4 files changed, 7 deletions(-)

diff --git a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
index f29445ce3402..0d81db2fbd7f 100644
--- a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
+++ b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
@@ -96,8 +96,6 @@ [BuildOptions]
   #
   MSFT:*_*_*_CC_FLAGS = /wd4090
 
-  GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))"
-
   # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT
   # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a newline"
   RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
diff --git a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
index e7b4b2f61855..4bcf064c5623 100644
--- a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
+++ b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
@@ -93,8 +93,6 @@ [BuildOptions]
   #
   MSFT:*_*_*_CC_FLAGS = /wd4090 /wd4718
 
-  GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))"
-
   # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT
   # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a newline"
   RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
diff --git a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
index 32628c8835a6..a6e433f6ced1 100644
--- a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
+++ b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
@@ -102,8 +102,6 @@ [BuildOptions]
   #
   MSFT:*_*_*_CC_FLAGS = /wd4090
 
-  GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))"
-
   # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT
   # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a newline"
   RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
diff --git a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
index 4829669c1f3f..c34699cd62bf 100644
--- a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
+++ b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
@@ -100,5 +100,4 @@ [BuildOptions]
   #
   MSFT:*_*_*_CC_FLAGS = /wd4090
 
-  GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-D__declspec(t)=__attribute__((t))"
   XCODE:*_*_*_CC_FLAGS = -mmmx -msse
-- 
2.19.1.3.g30247aa5d201




^ permalink raw reply related	[flat|nested] 39+ messages in thread

* [PATCH 26/26] Revert "MdePkg: avoid __builtin_unreachable() on GCC v4.4"
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (24 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 25/26] CryptoPkg/BaseCryptLib: drop build flags specific to GCC44 Laszlo Ersek
@ 2019-01-03  2:48 ` Laszlo Ersek
  2019-01-03  9:34   ` Ard Biesheuvel
  2019-01-03 13:25   ` Marvin Häuser
  2019-01-03 20:21 ` [PATCH 00/26] remove the GCC44 through GCC47 toolchains Jordan Justen
  2019-01-07  9:44 ` Philippe Mathieu-Daudé
  27 siblings, 2 replies; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-03  2:48 UTC (permalink / raw)
  To: edk2-devel-01
  Cc: Ard Biesheuvel, Liming Gao, Marvin Haeuser, Michael D Kinney

This reverts commit 357cec385d4f ("MdePkg: avoid __builtin_unreachable()
on GCC v4.4", 2016-07-21).

We've removed BaseTools support for GCC44..GCC47, therefore we need not
catch the GCC44 corner case for __builtin_unreachable().

No GCC44..GCC47 references remain under MdePkg after this patch.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Marvin Haeuser <Marvin.Haeuser@outlook.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---

Notes:
    I build-tested this change by building ArmVirtQemu with the GCC5
    toolchain (gcc-6.1.1), and OVMF with the GCC48 toolchain (gcc-4.8.5).
    
    Namely, the PeiCore() function [MdeModulePkg/Core/Pei/PeiMain/PeiMain.c]
    and the DxeMain() function [MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c]
    use UNREACHABLE().

 MdePkg/Include/Base.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h
index bc877d8125a5..d6b04baeaf8b 100644
--- a/MdePkg/Include/Base.h
+++ b/MdePkg/Include/Base.h
@@ -112,11 +112,10 @@ VERIFY_SIZE_OF (__VERIFY_UINT32_ENUM_SIZE, 4);
 // warnings.
 //
 #ifndef UNREACHABLE
-  #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)
+  #ifdef __GNUC__
     ///
     /// Signal compilers and analyzers that this call is not reachable.  It is
     /// up to the compiler to remove any code past that point.
-    /// Not implemented by GCC 4.4 or earlier.
     ///
     #define UNREACHABLE()  __builtin_unreachable ()
   #elif defined (__has_feature)
-- 
2.19.1.3.g30247aa5d201



^ permalink raw reply related	[flat|nested] 39+ messages in thread

* Re: [PATCH 25/26] CryptoPkg/BaseCryptLib: drop build flags specific to GCC44
  2019-01-03  2:48 ` [PATCH 25/26] CryptoPkg/BaseCryptLib: drop build flags specific to GCC44 Laszlo Ersek
@ 2019-01-03  5:02   ` Wang, Jian J
  0 siblings, 0 replies; 39+ messages in thread
From: Wang, Jian J @ 2019-01-03  5:02 UTC (permalink / raw)
  To: Laszlo Ersek, edk2-devel-01; +Cc: Wei, Gang, Ye, Ting


Reviewed-by: Jian J Wang <jian.j.wang@intel.com>

> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek@redhat.com]
> Sent: Thursday, January 03, 2019 10:48 AM
> To: edk2-devel-01 <edk2-devel@lists.01.org>
> Cc: Wei, Gang <gang.wei@intel.com>; Wang, Jian J <jian.j.wang@intel.com>;
> Ye, Ting <ting.ye@intel.com>
> Subject: [PATCH 25/26] CryptoPkg/BaseCryptLib: drop build flags specific to
> GCC44
> 
> We've removed BaseTools support for GCC44..GCC47. Drop
> CryptoPkg/BaseCryptLib build flags that are specific to any of those gcc
> versions.
> 
> No GCC44..GCC47 references remain under CryptoPkg after this patch.
> 
> Cc: Gang Wei <gang.wei@intel.com>
> Cc: Jian Wang <jian.j.wang@intel.com>
> Cc: Ting Ye <ting.ye@intel.com>
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> ---
> 
> Notes:
>     Build tested with:
> 
>     (
>       set -e
>       for INF in CryptoPkg/Library/BaseCryptLib/*.inf; do
>         build -t GCC48 -a IA32 -b DEBUG -p CryptoPkg/CryptoPkg.dsc \
>           -m "$INF"
>       done
>     )
> 
>  CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf    | 2 --
>  CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf     | 2 --
>  CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf | 2 --
>  CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf     | 1 -
>  4 files changed, 7 deletions(-)
> 
> diff --git a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
> b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
> index f29445ce3402..0d81db2fbd7f 100644
> --- a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
> +++ b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
> @@ -96,8 +96,6 @@ [BuildOptions]
>    #
>    MSFT:*_*_*_CC_FLAGS = /wd4090
> 
> -  GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-
> D__declspec(t)=__attribute__((t))"
> -
>    # -JCryptoPkg/Include : To disable the use of the system includes provided by
> RVCT
>    # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a
> newline"
>    RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
> diff --git a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
> b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
> index e7b4b2f61855..4bcf064c5623 100644
> --- a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
> +++ b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
> @@ -93,8 +93,6 @@ [BuildOptions]
>    #
>    MSFT:*_*_*_CC_FLAGS = /wd4090 /wd4718
> 
> -  GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-
> D__declspec(t)=__attribute__((t))"
> -
>    # -JCryptoPkg/Include : To disable the use of the system includes provided by
> RVCT
>    # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a
> newline"
>    RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
> diff --git a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
> b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
> index 32628c8835a6..a6e433f6ced1 100644
> --- a/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
> +++ b/CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
> @@ -102,8 +102,6 @@ [BuildOptions]
>    #
>    MSFT:*_*_*_CC_FLAGS = /wd4090
> 
> -  GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-
> D__declspec(t)=__attribute__((t))"
> -
>    # -JCryptoPkg/Include : To disable the use of the system includes provided by
> RVCT
>    # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a
> newline"
>    RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1
> diff --git a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
> b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
> index 4829669c1f3f..c34699cd62bf 100644
> --- a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
> +++ b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
> @@ -100,5 +100,4 @@ [BuildOptions]
>    #
>    MSFT:*_*_*_CC_FLAGS = /wd4090
> 
> -  GCC:*_GCC44_IA32_CC_FLAGS = "-D__cdecl=__attribute__((cdecl))" "-
> D__declspec(t)=__attribute__((t))"
>    XCODE:*_*_*_CC_FLAGS = -mmmx -msse
> --
> 2.19.1.3.g30247aa5d201
> 



^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH 02/26] OvmfPkg: require GCC48 or later
  2019-01-03  2:47 ` [PATCH 02/26] OvmfPkg: " Laszlo Ersek
@ 2019-01-03  9:33   ` Ard Biesheuvel
  0 siblings, 0 replies; 39+ messages in thread
From: Ard Biesheuvel @ 2019-01-03  9:33 UTC (permalink / raw)
  To: Laszlo Ersek; +Cc: edk2-devel-01, Anthony Perard, Jordan Justen, Julien Grall

On Thu, 3 Jan 2019 at 03:48, Laszlo Ersek <lersek@redhat.com> wrote:
>
> We're about to remove BaseTools support for GCC44..GCC47. Reject those gcc
> versions cleanly in "OvmfPkg/build.sh". In "OvmfPkg/README", upgrade any
> mentions of the same gcc versions to GCC48.
>
> No GCC44..GCC47 references remain under OvmfPkg after this patch.
>
> Cc: Anthony Perard <anthony.perard@citrix.com>
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Julien Grall <julien.grall@linaro.org>
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>

Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> ---
>
> Notes:
>     I tested that, after this patch, "build.sh" successfully builds OvmfPkg
>     with GCC48. I did no runtime tests, nor did I test the rejection path
>     with any of gcc-4.4 through gcc-4.7.
>
>  OvmfPkg/README   |  6 +++---
>  OvmfPkg/build.sh | 16 ++--------------
>  2 files changed, 5 insertions(+), 17 deletions(-)
>
> diff --git a/OvmfPkg/README b/OvmfPkg/README
> index 7415419d2dd7..68ce0750af19 100644
> --- a/OvmfPkg/README
> +++ b/OvmfPkg/README
> @@ -115,8 +115,8 @@ $ OvmfPkg/build.sh -a X64 qemu
>  And to run a 64-bit UEFI bootable ISO image:
>  $ OvmfPkg/build.sh -a X64 qemu -cdrom /path/to/disk-image.iso
>
> -To build a 32-bit OVMF without debug messages using GCC 4.5:
> -$ OvmfPkg/build.sh -a IA32 -b RELEASE -t GCC45
> +To build a 32-bit OVMF without debug messages using GCC 4.8:
> +$ OvmfPkg/build.sh -a IA32 -b RELEASE -t GCC48
>
>  === SMM support ===
>
> @@ -406,7 +406,7 @@ volume image.
>
>  If you build with the UNIXGCC toolchain, then debugging will be disabled
>  due to larger image sizes being produced by the UNIXGCC toolchain. The
> -first choice recommendation is to use GCC44 or newer instead.
> +first choice recommendation is to use GCC48 or newer instead.
>
>  If you must use UNIXGCC, then you can override the build options for
>  particular libraries and modules in the .dsc to re-enable debugging
> diff --git a/OvmfPkg/build.sh b/OvmfPkg/build.sh
> index 682155202564..6821742e7acd 100755
> --- a/OvmfPkg/build.sh
> +++ b/OvmfPkg/build.sh
> @@ -83,22 +83,10 @@ case `uname` in
>    Linux*)
>      gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}')
>      case $gcc_version in
> -      [1-3].*|4.[0-3].*)
> -        echo OvmfPkg requires GCC4.4 or later
> +      [1-3].*|4.[0-7].*)
> +        echo OvmfPkg requires GCC4.8 or later
>          exit 1
>          ;;
> -      4.4.*)
> -        TARGET_TOOLS=GCC44
> -        ;;
> -      4.5.*)
> -        TARGET_TOOLS=GCC45
> -        ;;
> -      4.6.*)
> -        TARGET_TOOLS=GCC46
> -        ;;
> -      4.7.*)
> -        TARGET_TOOLS=GCC47
> -        ;;
>        4.8.*)
>          TARGET_TOOLS=GCC48
>          ;;
> --
> 2.19.1.3.g30247aa5d201
>
>


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH 24/26] ArmPkg/ArmSoftFloatLib: drop build flags specific to GCC46/GCC47
  2019-01-03  2:48 ` [PATCH 24/26] ArmPkg/ArmSoftFloatLib: drop build flags specific to GCC46/GCC47 Laszlo Ersek
@ 2019-01-03  9:33   ` Ard Biesheuvel
  0 siblings, 0 replies; 39+ messages in thread
From: Ard Biesheuvel @ 2019-01-03  9:33 UTC (permalink / raw)
  To: Laszlo Ersek; +Cc: edk2-devel-01, Leif Lindholm

On Thu, 3 Jan 2019 at 03:49, Laszlo Ersek <lersek@redhat.com> wrote:
>
> We've removed BaseTools support for GCC44..GCC47. Drop
> ArmPkg/ArmSoftFloatLib build flags that are specific to any of those gcc
> versions. (See also commit 01627dba0911, "ArmPkg/ArmSoftfloatLib: restrict
> -fno-tree-vrp option to GCC46 and GCC47", 2015-12-15).
>
> No GCC44..GCC47 references remain under ArmPkg after this patch.
>
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: Leif Lindholm <leif.lindholm@linaro.org>
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>

Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> ---
>
> Notes:
>     Build-tested with a 32-bit ArmVirtQemu build, with -D
>     SECURE_BOOT_ENABLE, using the GCC5 toolchain. Such a build consumes
>     ArmSoftFloatLib via OpensslLib.
>
>  ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf b/ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
> index 3c76381b25dc..9c4cd62b3dd9 100644
> --- a/ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
> +++ b/ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
> @@ -49,6 +49,4 @@ [Packages]
>
>  [BuildOptions]
>    GCC:*_*_*_CC_FLAGS = -DSOFTFLOAT_FOR_GCC -Wno-enum-compare -fno-lto
> -  *_GCC46_*_CC_FLAGS = -fno-tree-vrp
> -  *_GCC47_*_CC_FLAGS = -fno-tree-vrp
>    RVCT:*_*_*_CC_FLAGS = -DSOFTFLOAT_FOR_GCC
> --
> 2.19.1.3.g30247aa5d201
>
>


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH 26/26] Revert "MdePkg: avoid __builtin_unreachable() on GCC v4.4"
  2019-01-03  2:48 ` [PATCH 26/26] Revert "MdePkg: avoid __builtin_unreachable() on GCC v4.4" Laszlo Ersek
@ 2019-01-03  9:34   ` Ard Biesheuvel
  2019-01-03 13:25   ` Marvin Häuser
  1 sibling, 0 replies; 39+ messages in thread
From: Ard Biesheuvel @ 2019-01-03  9:34 UTC (permalink / raw)
  To: Laszlo Ersek; +Cc: edk2-devel-01, Liming Gao, Marvin Haeuser, Michael D Kinney

On Thu, 3 Jan 2019 at 03:49, Laszlo Ersek <lersek@redhat.com> wrote:
>
> This reverts commit 357cec385d4f ("MdePkg: avoid __builtin_unreachable()
> on GCC v4.4", 2016-07-21).
>
> We've removed BaseTools support for GCC44..GCC47, therefore we need not
> catch the GCC44 corner case for __builtin_unreachable().
>
> No GCC44..GCC47 references remain under MdePkg after this patch.
>
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Marvin Haeuser <Marvin.Haeuser@outlook.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>

Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>

> ---
>
> Notes:
>     I build-tested this change by building ArmVirtQemu with the GCC5
>     toolchain (gcc-6.1.1), and OVMF with the GCC48 toolchain (gcc-4.8.5).
>
>     Namely, the PeiCore() function [MdeModulePkg/Core/Pei/PeiMain/PeiMain.c]
>     and the DxeMain() function [MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c]
>     use UNREACHABLE().
>
>  MdePkg/Include/Base.h | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h
> index bc877d8125a5..d6b04baeaf8b 100644
> --- a/MdePkg/Include/Base.h
> +++ b/MdePkg/Include/Base.h
> @@ -112,11 +112,10 @@ VERIFY_SIZE_OF (__VERIFY_UINT32_ENUM_SIZE, 4);
>  // warnings.
>  //
>  #ifndef UNREACHABLE
> -  #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)
> +  #ifdef __GNUC__
>      ///
>      /// Signal compilers and analyzers that this call is not reachable.  It is
>      /// up to the compiler to remove any code past that point.
> -    /// Not implemented by GCC 4.4 or earlier.
>      ///
>      #define UNREACHABLE()  __builtin_unreachable ()
>    #elif defined (__has_feature)
> --
> 2.19.1.3.g30247aa5d201
>


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH 26/26] Revert "MdePkg: avoid __builtin_unreachable() on GCC v4.4"
  2019-01-03  2:48 ` [PATCH 26/26] Revert "MdePkg: avoid __builtin_unreachable() on GCC v4.4" Laszlo Ersek
  2019-01-03  9:34   ` Ard Biesheuvel
@ 2019-01-03 13:25   ` Marvin Häuser
  1 sibling, 0 replies; 39+ messages in thread
From: Marvin Häuser @ 2019-01-03 13:25 UTC (permalink / raw)
  To: Laszlo Ersek, edk2-devel-01; +Cc: Ard Biesheuvel, Liming Gao, Michael D Kinney

> -----Original Message-----
> From: Laszlo Ersek <lersek@redhat.com>
> Sent: Thursday, January 3, 2019 3:48 AM
> To: edk2-devel-01 <edk2-devel@lists.01.org>
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>; Liming Gao
> <liming.gao@intel.com>; Marvin Haeuser <Marvin.Haeuser@outlook.com>;
> Michael D Kinney <michael.d.kinney@intel.com>
> Subject: [PATCH 26/26] Revert "MdePkg: avoid __builtin_unreachable() on
> GCC v4.4"
> 
> This reverts commit 357cec385d4f ("MdePkg: avoid __builtin_unreachable()
> on GCC v4.4", 2016-07-21).
> 
> We've removed BaseTools support for GCC44..GCC47, therefore we need
> not catch the GCC44 corner case for __builtin_unreachable().
> 
> No GCC44..GCC47 references remain under MdePkg after this patch.
> 
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Marvin Haeuser <Marvin.Haeuser@outlook.com>

Reviewed-by: Marvin Haeuser <Marvin.Haeuser@outlook.com>

> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> ---
> 
> Notes:
>     I build-tested this change by building ArmVirtQemu with the GCC5
>     toolchain (gcc-6.1.1), and OVMF with the GCC48 toolchain (gcc-4.8.5).
> 
>     Namely, the PeiCore() function
> [MdeModulePkg/Core/Pei/PeiMain/PeiMain.c]
>     and the DxeMain() function
> [MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c]
>     use UNREACHABLE().
> 
>  MdePkg/Include/Base.h | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h index
> bc877d8125a5..d6b04baeaf8b 100644
> --- a/MdePkg/Include/Base.h
> +++ b/MdePkg/Include/Base.h
> @@ -112,11 +112,10 @@ VERIFY_SIZE_OF (__VERIFY_UINT32_ENUM_SIZE,
> 4);  // warnings.
>  //
>  #ifndef UNREACHABLE
> -  #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)
> +  #ifdef __GNUC__
>      ///
>      /// Signal compilers and analyzers that this call is not reachable.  It is
>      /// up to the compiler to remove any code past that point.
> -    /// Not implemented by GCC 4.4 or earlier.
>      ///
>      #define UNREACHABLE()  __builtin_unreachable ()
>    #elif defined (__has_feature)
> --
> 2.19.1.3.g30247aa5d201



^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH 00/26] remove the GCC44 through GCC47 toolchains
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (25 preceding siblings ...)
  2019-01-03  2:48 ` [PATCH 26/26] Revert "MdePkg: avoid __builtin_unreachable() on GCC v4.4" Laszlo Ersek
@ 2019-01-03 20:21 ` Jordan Justen
  2019-01-07  9:44 ` Philippe Mathieu-Daudé
  27 siblings, 0 replies; 39+ messages in thread
From: Jordan Justen @ 2019-01-03 20:21 UTC (permalink / raw)
  To: Laszlo Ersek, edk2-devel-01
  Cc: Andrew Fish, Anthony Perard, Ard Biesheuvel, Bob Feng, Gang Wei,
	Jian Wang, Julien Grall, Leif Lindholm, Liming Gao,
	Marvin Haeuser, Michael D Kinney, Ruiyu Ni, Ting Ye, Yi Qian,
	Yonghong Zhu, Zailiang Sun

On 2019-01-02 18:47:50, Laszlo Ersek wrote:
> Repo:   https://github.com/lersek/edk2.git
> Branch: drop_gcc44_gcc47_tiano1377
> 
> (0) This series is meant as an alternative to
> 
>   [edk2] [Patch 0/5] Remove unused tool chains in tools_def.template
>   http://mid.mail-archive.com/20181224150107.28624-1-liming.gao@intel.com

I'm taking Liming's patchset as an indication that Intel is okay with
removing the older GCC toolchains.

Based on that, the series is
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH 03/26] Vlv2TbltDevicePkg: assume GCC48 or later
  2019-01-03  2:47 ` [PATCH 03/26] Vlv2TbltDevicePkg: assume " Laszlo Ersek
@ 2019-01-04  6:53   ` Sun, Zailiang
  0 siblings, 0 replies; 39+ messages in thread
From: Sun, Zailiang @ 2019-01-04  6:53 UTC (permalink / raw)
  To: Laszlo Ersek, edk2-devel-01; +Cc: Qian, Yi

Reviewed-by: Zailiang Sun <zailiang.sun@intel.com>

> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek@redhat.com]
> Sent: Thursday, January 3, 2019 10:48 AM
> To: edk2-devel-01 <edk2-devel@lists.01.org>
> Cc: Sun, Zailiang <zailiang.sun@intel.com>; Qian, Yi <yi.qian@intel.com>
> Subject: [PATCH 03/26] Vlv2TbltDevicePkg: assume GCC48 or later
> 
> We're about to remove BaseTools support for GCC44..GCC47. Bump the
> assumption about the minimum gcc version to GCC48 in
> "Vlv2TbltDevicePkg/bld_vlv.sh".
> 
> No GCC44..GCC47 references remain under Vlv2TbltDevicePkg after this
> patch.
> 
> Cc: Zailiang Sun <zailiang.sun@intel.com>
> Cc: Yi Qian <yi.qian@intel.com>
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> ---
> 
> Notes:
>     Untested.
> 
>  Vlv2TbltDevicePkg/bld_vlv.sh | 14 +-------------
>  1 file changed, 1 insertion(+), 13 deletions(-)
> 
> diff --git a/Vlv2TbltDevicePkg/bld_vlv.sh b/Vlv2TbltDevicePkg/bld_vlv.sh
> index 538b3ef9d730..51d3acacb48b 100755
> --- a/Vlv2TbltDevicePkg/bld_vlv.sh
> +++ b/Vlv2TbltDevicePkg/bld_vlv.sh
> @@ -179,23 +179,11 @@ sed -i '/^MAX_CONCURRENT_THREAD_NUMBER/d'
> Conf/target.txt
> 
>  gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}')
>  case $gcc_version in
> -    4.5.*)
> -      TARGET_TOOLS=GCC45
> -      ;;
> -    4.6.*)
> -      TARGET_TOOLS=GCC46
> -      ;;
> -    4.7.*)
> -      TARGET_TOOLS=GCC47
> -      ;;
> -    4.8.*)
> -      TARGET_TOOLS=GCC48
> -      ;;
>      4.9.*|4.1[0-9].*|5.*.*|6.*.*)
>        TARGET_TOOLS=GCC49
>        ;;
>      *)
> -      TARGET_TOOLS=GCC44
> +      TARGET_TOOLS=GCC48
>        ;;
>  esac
> 
> --
> 2.19.1.3.g30247aa5d201
> 



^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH 00/26] remove the GCC44 through GCC47 toolchains
  2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
                   ` (26 preceding siblings ...)
  2019-01-03 20:21 ` [PATCH 00/26] remove the GCC44 through GCC47 toolchains Jordan Justen
@ 2019-01-07  9:44 ` Philippe Mathieu-Daudé
  2019-01-07 12:15   ` Gao, Liming
  27 siblings, 1 reply; 39+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-01-07  9:44 UTC (permalink / raw)
  To: Laszlo Ersek, edk2-devel-01
  Cc: Ruiyu Ni, Ting Ye, Michael D Kinney, Liming Gao, Jordan Justen,
	Anthony Perard, Yi Qian

On 1/3/19 3:47 AM, Laszlo Ersek wrote:
> Repo:   https://github.com/lersek/edk2.git
> Branch: drop_gcc44_gcc47_tiano1377
> 
> (0) This series is meant as an alternative to
> 
>   [edk2] [Patch 0/5] Remove unused tool chains in tools_def.template
>   http://mid.mail-archive.com/20181224150107.28624-1-liming.gao@intel.com
> 
> Out of that series, patch #1 (from Ard) is included here, while patch #3
> is reimplemented from scratch (making up the bulk of this series) in a
> way that at least I would be capable of reviewing.

Lovely.

> The rest of the
> patches from Liming's series (#2, #4, #5) are out of scope for me, and I
> ask for them to be rebased on top of this series (if this one is
> acceptable).
> 
> Thus, this series intends to address
> 
>   https://bugzilla.tianocore.org/show_bug.cgi?id=1377
> 
> only in part.
> 
> (1) For locating GCC44 references, I used the following grep command:
> 
>   git grep -H -n -i -E 'gcc[- ]?4\.?[4567]'
> 
> That is,
> - "gcc" (case-insensitively),
> - optionally followed by hyphen or space,
> - followed by "4",
> - optionally followed by ".",
> - followed by 4 through 7.
> 
> One hit that persists after this patch set is in
> "AppPkg/Applications/Python/Python-2.7.2/Lib/distutils/tests/test_unixccompiler.py".
> It's a bundled software distribution so I didn't touch it.
> 
> Another hit that remains is "StdLib/Include/sys/EfiCdefs.h"; see (2) for
> that.
> 
> (2) __GNUC_PREREQ__ is used in StdLib/Include. But StdLib/Include checks
> for ancient GCC versions too (such as 2.0), so it clearly hasn't been
> kept in sync with the minimum edk2 requirement over time. I didn't touch
> it.
> 
> (3) __GNUC_MINOR__ is used in the following directories:
> 
> (3a) bundled Python:
> 
> - AppPkg/Applications/Python/PyMod-2.7.2
> - AppPkg/Applications/Python/Python-2.7.10
> - AppPkg/Applications/Python/Python-2.7.2
> 
> (3b) bundled Brotli:
> 
> - BaseTools/Source/C/BrotliCompress/include/brotli
> - MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/
> 
> (3c) bundled LZMA:
> 
> - BaseTools/Source/C/LzmaCompress/Sdk/C/
> - IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/Sdk/C/
> - MdeModulePkg/Library/LzmaCustomDecompressLib/Sdk/C/
> 
> (3d) bundled Lua / Lua interface:
> 
> - StdLib/Include/Lua/
> 
> (3e) Same as (2):
> 
> - StdLib/Include/sys/EfiCdefs.h
> 
> (3f) bundled OpenSSL / OpenSSL interface:
> 
> - CryptoPkg/Library/Include/openssl/opensslconf.h
> 
> I didn't touch any of these.
> 
> (4) I built OVMF with GCC48, and ArmVirtQemu with GCC5, using "-n 1",
> and compared the build logs, before/after.
> 
> (For the comparison, I first sorted the build logs: I didn't care about
> the relative order between the commands, I just wanted the sets of
> commands to be comparable. Sorting was necessary because even with "-n
> 1", modules weren't built in the same order, and that interfered with
> diffing.)
> 
> The sorted logs were identical, except for any time stamps / durations
> that had been logged.
> 
> Cc: Andrew Fish <afish@apple.com>
> Cc: Anthony Perard <anthony.perard@citrix.com>
> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> Cc: Bob Feng <bob.c.feng@intel.com>
> Cc: Gang Wei <gang.wei@intel.com>
> Cc: Jian Wang <jian.j.wang@intel.com>
> Cc: Jordan Justen <jordan.l.justen@intel.com>
> Cc: Julien Grall <julien.grall@linaro.org>
> Cc: Leif Lindholm <leif.lindholm@linaro.org>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Marvin Haeuser <Marvin.Haeuser@outlook.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Ruiyu Ni <ruiyu.ni@intel.com>
> Cc: Ting Ye <ting.ye@intel.com>
> Cc: Yi Qian <yi.qian@intel.com>
> Cc: Yonghong Zhu <yonghong.zhu@intel.com>
> Cc: Zailiang Sun <zailiang.sun@intel.com>
> 
> Thanks,
> Laszlo
> 
> Ard Biesheuvel (1):
>   BaseTools/Conf/tools_def.template: drop ARM/AARCH support from
>     GCC46/GCC47
> 
> Laszlo Ersek (25):
>   EmulatorPkg: require GCC48 or later
>   OvmfPkg: require GCC48 or later
>   Vlv2TbltDevicePkg: assume GCC48 or later
>   BaseTools/tools_def.template: fix up LF-only line terminator
>   BaseTools/tools_def.template: strip trailing whitespace
>   BaseTools/tools_def.template: remove GCC48_IA32_X64_DLINK_COMMON
>     dead-end
>   BaseTools/tools_def.template: remove GCC47 leaf definitions
>   BaseTools/tools_def.template: propagate loss of GCC47 references
>   BaseTools/tools_def.template: remove GCC47 documentation
>   BaseTools/tools_def.template: remove GCC46 leaf definitions
>   BaseTools/tools_def.template: propagate loss of GCC46 references
>   BaseTools/tools_def.template: remove GCC46 documentation
>   BaseTools/tools_def.template: remove GCC45 leaf definitions
>   BaseTools/tools_def.template: propagate loss of GCC45 references
>   BaseTools/tools_def.template: remove GCC45 documentation
>   BaseTools/tools_def.template: remove GCC44 leaf definitions
>   BaseTools/tools_def.template: propagate loss of GCC44 references
>   BaseTools/tools_def.template: rename GCC44_ALL_CC_FLAGS to
>     GCC48_ALL_CC_FLAGS
>   BaseTools/tools_def.template: eliminate GCC44_IA32_X64_DLINK_FLAGS
>   BaseTools/tools_def.template: rename GCC44_IA32_X64_DLINK_COMMON to
>     GCC48_IA32_X64_DLINK_COMMON
>   BaseTools/tools_def.template: remove comment about GCC44 +
>     LzmaF86Compress
>   BaseTools/tools_def.template: remove GCC44 documentation
>   ArmPkg/ArmSoftFloatLib: drop build flags specific to GCC46/GCC47
>   CryptoPkg/BaseCryptLib: drop build flags specific to GCC44
>   Revert "MdePkg: avoid __builtin_unreachable() on GCC v4.4"
> 
>  ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf |   2 -
>  BaseTools/Conf/tools_def.template                  | 638 +++-----------------
>  CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf    |   2 -
>  CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf     |   2 -
>  CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf |   2 -
>  CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf     |   1 -
>  EmulatorPkg/Unix/Host/Host.inf                     |   4 -
>  EmulatorPkg/build.sh                               |  18 +-
>  MdePkg/Include/Base.h                              |   3 +-
>  OvmfPkg/README                                     |   6 +-
>  OvmfPkg/build.sh                                   |  16 +-
>  Vlv2TbltDevicePkg/bld_vlv.sh                       |  14 +-
>  12 files changed, 81 insertions(+), 627 deletions(-)
> 

Series:
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH 00/26] remove the GCC44 through GCC47 toolchains
  2019-01-07  9:44 ` Philippe Mathieu-Daudé
@ 2019-01-07 12:15   ` Gao, Liming
  2019-01-07 18:08     ` Laszlo Ersek
  0 siblings, 1 reply; 39+ messages in thread
From: Gao, Liming @ 2019-01-07 12:15 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, Laszlo Ersek, edk2-devel-01
  Cc: Ni, Ray, Ye, Ting, Kinney, Michael D, Justen, Jordan L,
	Anthony Perard, Qian, Yi

Laszlo:
  This patch set is good to me. Reviewed-by: Liming Gao <liming.gao@intel.com>

  Besides this patch set, I suggest to let GCC48/GCC49/GCC5 refer to the common GCC_ flags. After I remove ELFGCC/UNIXGCC/CYGGCC tool chain, I will update GCC_ flags to be same to current GCC48_ flags, then remove GCC48_ flag definition.

Thanks
Liming
> -----Original Message-----
> From: Philippe Mathieu-Daudé [mailto:philmd@redhat.com]
> Sent: Monday, January 7, 2019 5:44 PM
> To: Laszlo Ersek <lersek@redhat.com>; edk2-devel-01 <edk2-devel@lists.01.org>
> Cc: Ni, Ray <ray.ni@intel.com>; Ye, Ting <ting.ye@intel.com>; Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming
> <liming.gao@intel.com>; Justen, Jordan L <jordan.l.justen@intel.com>; Anthony Perard <anthony.perard@citrix.com>; Qian, Yi
> <yi.qian@intel.com>
> Subject: Re: [edk2] [PATCH 00/26] remove the GCC44 through GCC47 toolchains
> 
> On 1/3/19 3:47 AM, Laszlo Ersek wrote:
> > Repo:   https://github.com/lersek/edk2.git
> > Branch: drop_gcc44_gcc47_tiano1377
> >
> > (0) This series is meant as an alternative to
> >
> >   [edk2] [Patch 0/5] Remove unused tool chains in tools_def.template
> >   http://mid.mail-archive.com/20181224150107.28624-1-liming.gao@intel.com
> >
> > Out of that series, patch #1 (from Ard) is included here, while patch #3
> > is reimplemented from scratch (making up the bulk of this series) in a
> > way that at least I would be capable of reviewing.
> 
> Lovely.
> 
> > The rest of the
> > patches from Liming's series (#2, #4, #5) are out of scope for me, and I
> > ask for them to be rebased on top of this series (if this one is
> > acceptable).
> >
> > Thus, this series intends to address
> >
> >   https://bugzilla.tianocore.org/show_bug.cgi?id=1377
> >
> > only in part.
> >
> > (1) For locating GCC44 references, I used the following grep command:
> >
> >   git grep -H -n -i -E 'gcc[- ]?4\.?[4567]'
> >
> > That is,
> > - "gcc" (case-insensitively),
> > - optionally followed by hyphen or space,
> > - followed by "4",
> > - optionally followed by ".",
> > - followed by 4 through 7.
> >
> > One hit that persists after this patch set is in
> > "AppPkg/Applications/Python/Python-2.7.2/Lib/distutils/tests/test_unixccompiler.py".
> > It's a bundled software distribution so I didn't touch it.
> >
> > Another hit that remains is "StdLib/Include/sys/EfiCdefs.h"; see (2) for
> > that.
> >
> > (2) __GNUC_PREREQ__ is used in StdLib/Include. But StdLib/Include checks
> > for ancient GCC versions too (such as 2.0), so it clearly hasn't been
> > kept in sync with the minimum edk2 requirement over time. I didn't touch
> > it.
> >
> > (3) __GNUC_MINOR__ is used in the following directories:
> >
> > (3a) bundled Python:
> >
> > - AppPkg/Applications/Python/PyMod-2.7.2
> > - AppPkg/Applications/Python/Python-2.7.10
> > - AppPkg/Applications/Python/Python-2.7.2
> >
> > (3b) bundled Brotli:
> >
> > - BaseTools/Source/C/BrotliCompress/include/brotli
> > - MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/
> >
> > (3c) bundled LZMA:
> >
> > - BaseTools/Source/C/LzmaCompress/Sdk/C/
> > - IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/Sdk/C/
> > - MdeModulePkg/Library/LzmaCustomDecompressLib/Sdk/C/
> >
> > (3d) bundled Lua / Lua interface:
> >
> > - StdLib/Include/Lua/
> >
> > (3e) Same as (2):
> >
> > - StdLib/Include/sys/EfiCdefs.h
> >
> > (3f) bundled OpenSSL / OpenSSL interface:
> >
> > - CryptoPkg/Library/Include/openssl/opensslconf.h
> >
> > I didn't touch any of these.
> >
> > (4) I built OVMF with GCC48, and ArmVirtQemu with GCC5, using "-n 1",
> > and compared the build logs, before/after.
> >
> > (For the comparison, I first sorted the build logs: I didn't care about
> > the relative order between the commands, I just wanted the sets of
> > commands to be comparable. Sorting was necessary because even with "-n
> > 1", modules weren't built in the same order, and that interfered with
> > diffing.)
> >
> > The sorted logs were identical, except for any time stamps / durations
> > that had been logged.
> >
> > Cc: Andrew Fish <afish@apple.com>
> > Cc: Anthony Perard <anthony.perard@citrix.com>
> > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> > Cc: Bob Feng <bob.c.feng@intel.com>
> > Cc: Gang Wei <gang.wei@intel.com>
> > Cc: Jian Wang <jian.j.wang@intel.com>
> > Cc: Jordan Justen <jordan.l.justen@intel.com>
> > Cc: Julien Grall <julien.grall@linaro.org>
> > Cc: Leif Lindholm <leif.lindholm@linaro.org>
> > Cc: Liming Gao <liming.gao@intel.com>
> > Cc: Marvin Haeuser <Marvin.Haeuser@outlook.com>
> > Cc: Michael D Kinney <michael.d.kinney@intel.com>
> > Cc: Ruiyu Ni <ruiyu.ni@intel.com>
> > Cc: Ting Ye <ting.ye@intel.com>
> > Cc: Yi Qian <yi.qian@intel.com>
> > Cc: Yonghong Zhu <yonghong.zhu@intel.com>
> > Cc: Zailiang Sun <zailiang.sun@intel.com>
> >
> > Thanks,
> > Laszlo
> >
> > Ard Biesheuvel (1):
> >   BaseTools/Conf/tools_def.template: drop ARM/AARCH support from
> >     GCC46/GCC47
> >
> > Laszlo Ersek (25):
> >   EmulatorPkg: require GCC48 or later
> >   OvmfPkg: require GCC48 or later
> >   Vlv2TbltDevicePkg: assume GCC48 or later
> >   BaseTools/tools_def.template: fix up LF-only line terminator
> >   BaseTools/tools_def.template: strip trailing whitespace
> >   BaseTools/tools_def.template: remove GCC48_IA32_X64_DLINK_COMMON
> >     dead-end
> >   BaseTools/tools_def.template: remove GCC47 leaf definitions
> >   BaseTools/tools_def.template: propagate loss of GCC47 references
> >   BaseTools/tools_def.template: remove GCC47 documentation
> >   BaseTools/tools_def.template: remove GCC46 leaf definitions
> >   BaseTools/tools_def.template: propagate loss of GCC46 references
> >   BaseTools/tools_def.template: remove GCC46 documentation
> >   BaseTools/tools_def.template: remove GCC45 leaf definitions
> >   BaseTools/tools_def.template: propagate loss of GCC45 references
> >   BaseTools/tools_def.template: remove GCC45 documentation
> >   BaseTools/tools_def.template: remove GCC44 leaf definitions
> >   BaseTools/tools_def.template: propagate loss of GCC44 references
> >   BaseTools/tools_def.template: rename GCC44_ALL_CC_FLAGS to
> >     GCC48_ALL_CC_FLAGS
> >   BaseTools/tools_def.template: eliminate GCC44_IA32_X64_DLINK_FLAGS
> >   BaseTools/tools_def.template: rename GCC44_IA32_X64_DLINK_COMMON to
> >     GCC48_IA32_X64_DLINK_COMMON
> >   BaseTools/tools_def.template: remove comment about GCC44 +
> >     LzmaF86Compress
> >   BaseTools/tools_def.template: remove GCC44 documentation
> >   ArmPkg/ArmSoftFloatLib: drop build flags specific to GCC46/GCC47
> >   CryptoPkg/BaseCryptLib: drop build flags specific to GCC44
> >   Revert "MdePkg: avoid __builtin_unreachable() on GCC v4.4"
> >
> >  ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf |   2 -
> >  BaseTools/Conf/tools_def.template                  | 638 +++-----------------
> >  CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf    |   2 -
> >  CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf     |   2 -
> >  CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf |   2 -
> >  CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf     |   1 -
> >  EmulatorPkg/Unix/Host/Host.inf                     |   4 -
> >  EmulatorPkg/build.sh                               |  18 +-
> >  MdePkg/Include/Base.h                              |   3 +-
> >  OvmfPkg/README                                     |   6 +-
> >  OvmfPkg/build.sh                                   |  16 +-
> >  Vlv2TbltDevicePkg/bld_vlv.sh                       |  14 +-
> >  12 files changed, 81 insertions(+), 627 deletions(-)
> >
> 
> Series:
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH 00/26] remove the GCC44 through GCC47 toolchains
  2019-01-07 12:15   ` Gao, Liming
@ 2019-01-07 18:08     ` Laszlo Ersek
  2019-01-08  1:54       ` Laszlo Ersek
  0 siblings, 1 reply; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-07 18:08 UTC (permalink / raw)
  To: Gao, Liming, Philippe Mathieu-Daudé, edk2-devel-01
  Cc: Ni, Ray, Ye, Ting, Kinney, Michael D, Justen, Jordan L,
	Anthony Perard, Qian, Yi

On 01/07/19 13:15, Gao, Liming wrote:
> Laszlo:
>   This patch set is good to me. Reviewed-by: Liming Gao <liming.gao@intel.com>

Many thanks to everyone for the quick reviews!

>   Besides this patch set, I suggest to let GCC48/GCC49/GCC5 refer to the common GCC_ flags. After I remove ELFGCC/UNIXGCC/CYGGCC tool chain, I will update GCC_ flags to be same to current GCC48_ flags, then remove GCC48_ flag definition.

Sounds good to me, thanks. IIRC I actually looked into calling that
stuff just GCC_, but I seem to remember that the subject macros were
already defined for other purposes. Once you eliminate
ELFGCC/UNIXGCC/CYGGCC, hopefully all those macros can be collapsed.

For this series, I plan to go through the feedback tags in detail,
shortly, and push the series if everything is sufficiently approved.

Thanks!
Laszlo


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH 00/26] remove the GCC44 through GCC47 toolchains
  2019-01-07 18:08     ` Laszlo Ersek
@ 2019-01-08  1:54       ` Laszlo Ersek
  2019-01-08 11:34         ` Ard Biesheuvel
  0 siblings, 1 reply; 39+ messages in thread
From: Laszlo Ersek @ 2019-01-08  1:54 UTC (permalink / raw)
  To: Gao, Liming, Philippe Mathieu-Daudé, edk2-devel-01
  Cc: Qian, Yi, Ye, Ting, Justen, Jordan L, Ni, Ray, Anthony Perard,
	Kinney, Michael D

On 01/07/19 19:08, Laszlo Ersek wrote:
> On 01/07/19 13:15, Gao, Liming wrote:
>> Laszlo:
>>   This patch set is good to me. Reviewed-by: Liming Gao <liming.gao@intel.com>
> 
> Many thanks to everyone for the quick reviews!
> 
>>   Besides this patch set, I suggest to let GCC48/GCC49/GCC5 refer to the common GCC_ flags. After I remove ELFGCC/UNIXGCC/CYGGCC tool chain, I will update GCC_ flags to be same to current GCC48_ flags, then remove GCC48_ flag definition.
> 
> Sounds good to me, thanks. IIRC I actually looked into calling that
> stuff just GCC_, but I seem to remember that the subject macros were
> already defined for other purposes. Once you eliminate
> ELFGCC/UNIXGCC/CYGGCC, hopefully all those macros can be collapsed.
> 
> For this series, I plan to go through the feedback tags in detail,
> shortly, and push the series if everything is sufficiently approved.

That appears to be the case, so I've pushed the series: commit range
46f4c9677c61..7423ba9d499b.

Thank you all again,
Laszlo


^ permalink raw reply	[flat|nested] 39+ messages in thread

* Re: [PATCH 00/26] remove the GCC44 through GCC47 toolchains
  2019-01-08  1:54       ` Laszlo Ersek
@ 2019-01-08 11:34         ` Ard Biesheuvel
  0 siblings, 0 replies; 39+ messages in thread
From: Ard Biesheuvel @ 2019-01-08 11:34 UTC (permalink / raw)
  To: Laszlo Ersek
  Cc: Gao, Liming, Philippe Mathieu-Daudé, edk2-devel-01, Qian, Yi,
	Ye, Ting, Justen, Jordan L, Ni, Ray, Kinney, Michael D,
	Anthony Perard

On Tue, 8 Jan 2019 at 02:54, Laszlo Ersek <lersek@redhat.com> wrote:
>
> On 01/07/19 19:08, Laszlo Ersek wrote:
> > On 01/07/19 13:15, Gao, Liming wrote:
> >> Laszlo:
> >>   This patch set is good to me. Reviewed-by: Liming Gao <liming.gao@intel.com>
> >
> > Many thanks to everyone for the quick reviews!
> >
> >>   Besides this patch set, I suggest to let GCC48/GCC49/GCC5 refer to the common GCC_ flags. After I remove ELFGCC/UNIXGCC/CYGGCC tool chain, I will update GCC_ flags to be same to current GCC48_ flags, then remove GCC48_ flag definition.
> >
> > Sounds good to me, thanks. IIRC I actually looked into calling that
> > stuff just GCC_, but I seem to remember that the subject macros were
> > already defined for other purposes. Once you eliminate
> > ELFGCC/UNIXGCC/CYGGCC, hopefully all those macros can be collapsed.
> >
> > For this series, I plan to go through the feedback tags in detail,
> > shortly, and push the series if everything is sufficiently approved.
>
> That appears to be the case, so I've pushed the series: commit range
> 46f4c9677c61..7423ba9d499b.
>

Thanks a lot for this to the both of you.


^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2019-01-08 11:34 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-03  2:47 [PATCH 00/26] remove the GCC44 through GCC47 toolchains Laszlo Ersek
2019-01-03  2:47 ` [PATCH 01/26] EmulatorPkg: require GCC48 or later Laszlo Ersek
2019-01-03  2:47 ` [PATCH 02/26] OvmfPkg: " Laszlo Ersek
2019-01-03  9:33   ` Ard Biesheuvel
2019-01-03  2:47 ` [PATCH 03/26] Vlv2TbltDevicePkg: assume " Laszlo Ersek
2019-01-04  6:53   ` Sun, Zailiang
2019-01-03  2:47 ` [PATCH 04/26] BaseTools/Conf/tools_def.template: drop ARM/AARCH support from GCC46/GCC47 Laszlo Ersek
2019-01-03  2:47 ` [PATCH 05/26] BaseTools/tools_def.template: fix up LF-only line terminator Laszlo Ersek
2019-01-03  2:47 ` [PATCH 06/26] BaseTools/tools_def.template: strip trailing whitespace Laszlo Ersek
2019-01-03  2:47 ` [PATCH 07/26] BaseTools/tools_def.template: remove GCC48_IA32_X64_DLINK_COMMON dead-end Laszlo Ersek
2019-01-03  2:47 ` [PATCH 08/26] BaseTools/tools_def.template: remove GCC47 leaf definitions Laszlo Ersek
2019-01-03  2:47 ` [PATCH 09/26] BaseTools/tools_def.template: propagate loss of GCC47 references Laszlo Ersek
2019-01-03  2:48 ` [PATCH 10/26] BaseTools/tools_def.template: remove GCC47 documentation Laszlo Ersek
2019-01-03  2:48 ` [PATCH 11/26] BaseTools/tools_def.template: remove GCC46 leaf definitions Laszlo Ersek
2019-01-03  2:48 ` [PATCH 12/26] BaseTools/tools_def.template: propagate loss of GCC46 references Laszlo Ersek
2019-01-03  2:48 ` [PATCH 13/26] BaseTools/tools_def.template: remove GCC46 documentation Laszlo Ersek
2019-01-03  2:48 ` [PATCH 14/26] BaseTools/tools_def.template: remove GCC45 leaf definitions Laszlo Ersek
2019-01-03  2:48 ` [PATCH 15/26] BaseTools/tools_def.template: propagate loss of GCC45 references Laszlo Ersek
2019-01-03  2:48 ` [PATCH 16/26] BaseTools/tools_def.template: remove GCC45 documentation Laszlo Ersek
2019-01-03  2:48 ` [PATCH 17/26] BaseTools/tools_def.template: remove GCC44 leaf definitions Laszlo Ersek
2019-01-03  2:48 ` [PATCH 18/26] BaseTools/tools_def.template: propagate loss of GCC44 references Laszlo Ersek
2019-01-03  2:48 ` [PATCH 19/26] BaseTools/tools_def.template: rename GCC44_ALL_CC_FLAGS to GCC48_ALL_CC_FLAGS Laszlo Ersek
2019-01-03  2:48 ` [PATCH 20/26] BaseTools/tools_def.template: eliminate GCC44_IA32_X64_DLINK_FLAGS Laszlo Ersek
2019-01-03  2:48 ` [PATCH 21/26] BaseTools/tools_def.template: rename GCC44_IA32_X64_DLINK_COMMON to GCC48_IA32_X64_DLINK_COMMON Laszlo Ersek
2019-01-03  2:48 ` [PATCH 22/26] BaseTools/tools_def.template: remove comment about GCC44 + LzmaF86Compress Laszlo Ersek
2019-01-03  2:48 ` [PATCH 23/26] BaseTools/tools_def.template: remove GCC44 documentation Laszlo Ersek
2019-01-03  2:48 ` [PATCH 24/26] ArmPkg/ArmSoftFloatLib: drop build flags specific to GCC46/GCC47 Laszlo Ersek
2019-01-03  9:33   ` Ard Biesheuvel
2019-01-03  2:48 ` [PATCH 25/26] CryptoPkg/BaseCryptLib: drop build flags specific to GCC44 Laszlo Ersek
2019-01-03  5:02   ` Wang, Jian J
2019-01-03  2:48 ` [PATCH 26/26] Revert "MdePkg: avoid __builtin_unreachable() on GCC v4.4" Laszlo Ersek
2019-01-03  9:34   ` Ard Biesheuvel
2019-01-03 13:25   ` Marvin Häuser
2019-01-03 20:21 ` [PATCH 00/26] remove the GCC44 through GCC47 toolchains Jordan Justen
2019-01-07  9:44 ` Philippe Mathieu-Daudé
2019-01-07 12:15   ` Gao, Liming
2019-01-07 18:08     ` Laszlo Ersek
2019-01-08  1:54       ` Laszlo Ersek
2019-01-08 11:34         ` Ard Biesheuvel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox