Reviewed-by: Liming Gao <[email protected]> >-----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

