Re: [edk2] [PATCH 00/26] remove the GCC44 through GCC47 toolchains
On Tue, 8 Jan 2019 at 02:54, Laszlo Ersek 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 > >> > > > > 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. ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 00/26] remove the GCC44 through GCC47 toolchains
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 >> > > 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 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 00/26] remove the GCC44 through GCC47 toolchains
On 01/07/19 13:15, Gao, Liming wrote: > Laszlo: > This patch set is good to me. Reviewed-by: Liming Gao 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 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 00/26] remove the GCC44 through GCC47 toolchains
Laszlo: This patch set is good to me. Reviewed-by: Liming Gao 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:phi...@redhat.com] > Sent: Monday, January 7, 2019 5:44 PM > To: Laszlo Ersek ; edk2-devel-01 > Cc: Ni, Ray ; Ye, Ting ; Kinney, Michael > D ; Gao, Liming > ; Justen, Jordan L ; Anthony > Perard ; Qian, Yi > > 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 > > 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 > > 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
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 > 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 > 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 >
Re: [edk2] [PATCH 00/26] remove the GCC44 through GCC47 toolchains
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 > 20181224150107.28624-1-liming.gao@intel.com">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 ___ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel
[edk2] [PATCH 00/26] remove the GCC44 through GCC47 toolchains
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. 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 +++-