From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.132.183.28; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 7DE7221962301 for ; Wed, 2 Jan 2019 18:48:24 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BFD1CC05B01B; Thu, 3 Jan 2019 02:48:23 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-123-131.rdu2.redhat.com [10.10.123.131]) by smtp.corp.redhat.com (Postfix) with ESMTP id DBA9A5D738; Thu, 3 Jan 2019 02:48:18 +0000 (UTC) From: Laszlo Ersek 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 Date: Thu, 3 Jan 2019 03:47:50 +0100 Message-Id: <20190103024816.9236-1-lersek@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Thu, 03 Jan 2019 02:48:24 +0000 (UTC) Subject: [PATCH 00/26] remove the GCC44 through GCC47 toolchains X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Jan 2019 02:48:25 -0000 Content-Transfer-Encoding: 8bit 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 Cc: Anthony Perard Cc: Ard Biesheuvel Cc: Bob Feng Cc: Gang Wei Cc: Jian Wang Cc: Jordan Justen Cc: Julien Grall Cc: Leif Lindholm Cc: Liming Gao Cc: Marvin Haeuser Cc: Michael D Kinney Cc: Ruiyu Ni Cc: Ting Ye Cc: Yi Qian Cc: Yonghong Zhu Cc: Zailiang Sun 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