From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 4F3261A1DEB for ; Tue, 2 Aug 2016 03:57:52 -0700 (PDT) Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 91E134E03B; Tue, 2 Aug 2016 10:57:51 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-116-83.phx2.redhat.com [10.3.116.83]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u72AvnkC025779; Tue, 2 Aug 2016 06:57:49 -0400 To: Jordan Justen References: <1470038497-2536-1-git-send-email-ard.biesheuvel@linaro.org> Cc: Ard Biesheuvel , "Shi, Steven" , "Zhu, Yonghong" , "Gao, Liming" , edk2-devel-01 , Leif Lindholm From: Laszlo Ersek Message-ID: <77334356-ea43-0d09-250b-08385791382e@redhat.com> Date: Tue, 2 Aug 2016 12:57:48 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Tue, 02 Aug 2016 10:57:51 +0000 (UTC) Subject: Re: [PATCH v5 0/8] BaseTools: add support for GCC5 in LTO mode X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Aug 2016 10:57:52 -0000 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit On 08/02/16 11:03, Ard Biesheuvel wrote: > On 1 August 2016 at 10:01, Ard Biesheuvel wrote: >> This v5 to introduce GCC5 is now a 8 piece series, including some >> preparatory cleanup patches that allow all GCC4x and CLANG35 toolchains >> to switch to using 'gcc' as the linker. This allows us to get rid of >> the wrapper script to marshall ld arguments in order to make them >> understandable by gcc, which is fragile and likely to cause problems in >> the future. >> >> Since there appears to be a natural split between the 'legacy' GCC >> toolchains UNIXGCC, ELFGCC, and CYGGCC[xASL], both in term of supported >> architectures [IA32, X64, IPF] vs [IA32, X64, ARM, AARCH64], and in >> terms of maintenance, these toolchains are not moved to using 'gcc' as >> the linker, and instead, a new BUILDRULEFAMILY is introduced called GCCLD >> that will retain the old behavior. >> >> The result is that GCC5 can align much more closely with its predecessors, >> making the expected maintenance burden of supporting GCC back to v4.4 >> much lower. >> >> Changes since v4: >> - added patch to use 'protected' visibility only for the libraries that >> define the module entry points (_ModuleEntryPoint), to prevent them from >> being optimized away by the LTO routines >> - added Jordan's ack/RBs >> - add some extra comments to tools_def.template (#8) >> > > Thanks all. Committed as > > 1c63516075b3 BaseTools CLANG35: drop problematic use-movt and save-temps options > ff54bcdf2e4e ArmVirtPkg/ArmVirtPrePiUniCoreRelocatable: ignore .hash > and .note sections > befb3ba51502 BaseTools UNIXGCC ELFGCC CYGGCC: clone GCC build rule > family into GCCLD > a1b8baccc30b BaseTools GCC: use 'gcc' as the linker command for GCC44 and later > e1458aaded8e ArmPkg: add prebuilt glue binaries for GCC5 LTO support > 7fd5d619806d BaseTools GCC: drop GNU notes section from EFI image > 4a8466d4baba BaseTools GCC: introduce GCC5 toolchain to support GCC > v5.x in LTO mode > > with Leif and Liming's R-b. I dropped patch #7, and instead made the > visibility pragma conditional on whether LTO is disabled. Re gcc-5, do we need a patch for "OvmfPkg/build.sh" now? See also . Thanks Laszlo