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
  [email protected]">http://mid.mail-archive.com/[email protected]

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 <[email protected]>
Cc: Anthony Perard <[email protected]>
Cc: Ard Biesheuvel <[email protected]>
Cc: Bob Feng <[email protected]>
Cc: Gang Wei <[email protected]>
Cc: Jian Wang <[email protected]>
Cc: Jordan Justen <[email protected]>
Cc: Julien Grall <[email protected]>
Cc: Leif Lindholm <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Marvin Haeuser <[email protected]>
Cc: Michael D Kinney <[email protected]>
Cc: Ruiyu Ni <[email protected]>
Cc: Ting Ye <[email protected]>
Cc: Yi Qian <[email protected]>
Cc: Yonghong Zhu <[email protected]>
Cc: Zailiang Sun <[email protected]>

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

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to