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 > 20181224150107.28624-1-liming.gao@intel.com">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 <af...@apple.com> > Cc: Anthony Perard <anthony.per...@citrix.com> > Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> > Cc: Bob Feng <bob.c.f...@intel.com> > Cc: Gang Wei <gang....@intel.com> > Cc: Jian Wang <jian.j.w...@intel.com> > Cc: Jordan Justen <jordan.l.jus...@intel.com> > Cc: Julien Grall <julien.gr...@linaro.org> > Cc: Leif Lindholm <leif.lindh...@linaro.org> > Cc: Liming Gao <liming....@intel.com> > Cc: Marvin Haeuser <marvin.haeu...@outlook.com> > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Ruiyu Ni <ruiyu...@intel.com> > Cc: Ting Ye <ting...@intel.com> > Cc: Yi Qian <yi.q...@intel.com> > Cc: Yonghong Zhu <yonghong....@intel.com> > Cc: Zailiang Sun <zailiang....@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é <phi...@redhat.com> _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel