On 21 May 2017 at 21:05, Gao, Liming <[email protected]> wrote: > Reviewed-by: Liming Gao <[email protected]> >
Thanks. Pushed as 00b00cc57bfe0fca54c904d4dd44a263e243c88b >>-----Original Message----- >>From: Ard Biesheuvel [mailto:[email protected]] >>Sent: Friday, May 19, 2017 6:48 PM >>To: [email protected] >>Cc: [email protected]; Zhu, Yonghong <[email protected]>; Gao, >>Liming <[email protected]>; Ard Biesheuvel <[email protected]> >>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 <[email protected]> >>--- >> 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 > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

