From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.85.221.67; helo=mail-wr1-f67.google.com; envelope-from=philmd@redhat.com; receiver=edk2-devel@lists.01.org Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 82BD121B02822 for ; Mon, 7 Jan 2019 01:44:19 -0800 (PST) Received: by mail-wr1-f67.google.com with SMTP id l9so42424297wrt.13 for ; Mon, 07 Jan 2019 01:44:18 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:openpgp:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=dPgFWdDoU6Yy/QM8d2JcuUnaRyf5SE0NqIyZ3lm/xRc=; b=kxT2ALGtoepeeq8uFwFJsr3UC7tTEmqox1E7OhcDbBlKlci/4Ar8+ZpYe/4/pzcuAR 96ysbSJLig6QEdmd+jFQXgD5orKPZG5YlSNYcyBODS4lcfLLdhjeIUgl5x6XWTt89kpi hCCviNlp79fU2Tv9ox6O1c4WHocEVLr4TkNYv0nsd7kikSQq0OxViRpcOV+t/iTwN/NF H1hZ6kVH7Wrhi1DDYzy/hCd0zOG0BMun9dridQMPepx1ETertPKDmMMl9pxO7r5AFJ/N QIihNlKJLoO55Lngb9eqctbZd6Srue8A+F9rYPKsbut6aN2I6qlw+CoaTOFR8K2YceUv WZPA== X-Gm-Message-State: AJcUukfuPH0D3VTQbjz7zcUbTbIqHy0/nm7IWnHaow9e7mJ0okQSb/zM Yhrss32h/okysVzTBqUVGMK/3Q== X-Google-Smtp-Source: ALg8bN5sdrYQ5w8qzYiXg3MGS7yh2eEpiCHVwzbo/TySah7pZ/kbJlVJACBmsATLZ0R5bYboFqDcwA== X-Received: by 2002:a5d:4046:: with SMTP id w6mr54009851wrp.92.1546854257086; Mon, 07 Jan 2019 01:44:17 -0800 (PST) Received: from [10.201.33.118] ([195.166.127.210]) by smtp.gmail.com with ESMTPSA id q9sm70921608wrp.0.2019.01.07.01.44.15 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 07 Jan 2019 01:44:16 -0800 (PST) To: Laszlo Ersek , edk2-devel-01 Cc: Ruiyu Ni , Ting Ye , Michael D Kinney , Liming Gao , Jordan Justen , Anthony Perard , Yi Qian References: <20190103024816.9236-1-lersek@redhat.com> From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= Openpgp: id=89C1E78F601EE86C867495CBA2A3FD6EDEADC0DE; url=http://pgp.mit.edu/pks/lookup?op=get&search=0xA2A3FD6EDEADC0DE Message-ID: Date: Mon, 7 Jan 2019 10:44:14 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1 MIME-Version: 1.0 In-Reply-To: <20190103024816.9236-1-lersek@redhat.com> Subject: Re: [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: Mon, 07 Jan 2019 09:44:20 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit 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 > 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(-) > Series: Reviewed-by: Philippe Mathieu-Daudé