From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io0-x22d.google.com (mail-io0-x22d.google.com [IPv6:2607:f8b0:4001:c06::22d]) (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 194E621AF39A5 for ; Wed, 24 May 2017 06:13:13 -0700 (PDT) Received: by mail-io0-x22d.google.com with SMTP id o12so117277829iod.3 for ; Wed, 24 May 2017 06:13:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=gIWeMoOF3jVqH7/N0yIUMy8gyX96jpQxNQgLWtJilNY=; b=A7kVRTVjBZRs21RzLeTwqxlprx87OQh3Z+eFHXg6Mdd+dA4Um9gFW0b4eL1uwPizbw 2yiuu/MYpZZiEkOf7vKBSzTMEWkaviLf+jGlDKGsSjZqyRIZD+MCeTGJcqT6+0MJUxdb vG8JmTgGz+njS7q+CZFbQKHSr4sju1T3kszpA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=gIWeMoOF3jVqH7/N0yIUMy8gyX96jpQxNQgLWtJilNY=; b=gwZXGzkQzUAgxLt4cCxRfE07C/BKB8ik/aGGGgdpvB0NHEJ2/RCj1j/3GGt35N8vxl S1S2jWOXFx6GC+CrRzatFiy+c1gr9K3OfHPsFpwiFInkv1FjTZAbZHGlc2wUb2HZxsQd cEhD36MRmy7FyXm/csRl/fxf7Sdyd+ac4Ok8zxEOO6CQTk3BgXT0RzBmb8ghbVhAnWNl 4CAL2fUZRRIbLvvFCAQf93YZbRRXZFuqVR6YCEvpWNSQgsDW8vkeQaQmgxIs9pqpbr4Q 5Q9gM2sy8gmScwA6Sqc5B/Xr+ARU2tx3Of7ejtaIRhS+dabMbUVfB8Zg9N29K5E4UP21 2elw== X-Gm-Message-State: AODbwcCBu5rrGVUDyaDYFO77V4bkwUI/xpMqXJprwVfyy6wiirby5w9C G/P02v6+r3y7EWaY7SFy4W0O9Q99q+mV X-Received: by 10.107.130.166 with SMTP id m38mr35083053ioi.87.1495631591915; Wed, 24 May 2017 06:13:11 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.164.24 with HTTP; Wed, 24 May 2017 06:13:11 -0700 (PDT) In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14D7326EA@shsmsx102.ccr.corp.intel.com> References: <20170519104740.16044-1-ard.biesheuvel@linaro.org> <4A89E2EF3DFEDB4C8BFDE51014F606A14D7326EA@shsmsx102.ccr.corp.intel.com> From: Ard Biesheuvel Date: Wed, 24 May 2017 06:13:11 -0700 Message-ID: To: "Gao, Liming" Cc: "edk2-devel@lists.01.org" , "leif.lindholm@linaro.org" , "Zhu, Yonghong" Subject: Re: [PATCH] BaseTools/Scripts: discard .gnu.hash section in GCC builds X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 May 2017 13:13:13 -0000 Content-Type: text/plain; charset="UTF-8" On 21 May 2017 at 21:05, Gao, Liming wrote: > Reviewed-by: Liming Gao > Thanks. Pushed as 00b00cc57bfe0fca54c904d4dd44a263e243c88b >>-----Original Message----- >>From: Ard Biesheuvel [mailto:ard.biesheuvel@linaro.org] >>Sent: Friday, May 19, 2017 6:48 PM >>To: edk2-devel@lists.01.org >>Cc: leif.lindholm@linaro.org; Zhu, Yonghong ; Gao, >>Liming ; Ard Biesheuvel >>Subject: [PATCH] BaseTools/Scripts: discard .gnu.hash section in GCC builds >> >>Some builds of GCC/binutils will default to using the GNU flavor of >>the symbol hash table, and will emit it into a section called .gnu.hash >>rather than .hash. We have no use for its contents, and GenFw ignores >>it anyway, so it shouldn't really matter what we do with it. >> >>However, due to a workaround for AARCH64 we have in GenFw to deal with >>older GCCs that corrupt section-based relocations when merging sections >>during the final link, we need the ELF and PE/COFF views of the binary >>to be identical. Since we don't place the .gnu.hash section explicitly, >>it may end up at the beginning of the ELF binary, causing other sections >>to be shifted in the ELF view but not in the PE/COFF view. >> >>So let's add .gnu.hash to the GCC linker script. We don't care about its >>contents so add it to the /DISCARD/ section. >> >>Contributed-under: TianoCore Contribution Agreement 1.0 >>Signed-off-by: Ard Biesheuvel >>--- >> BaseTools/Scripts/GccBase.lds | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >>diff --git a/BaseTools/Scripts/GccBase.lds b/BaseTools/Scripts/GccBase.lds >>index 41e5c0b4a769..a43e0072f2b4 100644 >>--- a/BaseTools/Scripts/GccBase.lds >>+++ b/BaseTools/Scripts/GccBase.lds >>@@ -78,7 +78,7 @@ SECTIONS { >> *(.dynsym) >> *(.dynstr) >> *(.dynamic) >>- *(.hash) >>+ *(.hash .gnu.hash) >> *(.comment) >> *(COMMON) >> } >>-- >>2.9.3 >