From: Maciej W. Rozycki Date: Fri, 26 Jan 2018 23:05:06 +0000 (+0000) Subject: MIPS/LD: Correct `mips-*-windiss' target emulation configuration X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2ebd05b80b22;p=binutils-gdb.git MIPS/LD: Correct `mips-*-windiss' target emulation configuration Fix an issue with commit 73934d319dae ("Disable .gnu.hash on MIPS targets"), , which in turn caused a regression with commit 861fb55ab50a ("Defer allocation of R_MIPS_REL32 GOT slots"), , and use `mipself.em' as the extra emulation file for `mips-*-windiss' targets, removing a segmentation fault triggered as `_bfd_mips_elf_final_link' calls `htab_traverse' to process LA25 stubs with `htab->la25_stubs' being NULL. This is in turn due to `_bfd_mips_elf_init_stubs' not having been called, which is only done by `mipself.em'. No LA25 stubs are supposed to be produced for `mips-*-windiss' targets, however the internal data structures have to be initialized. ld/ * emulparams/elf32mipswindiss.sh (EXTRA_EM_FILE): Set to `mipself'. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index b64163866bf..3430a86d432 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2018-01-26 Maciej W. Rozycki + + * emulparams/elf32mipswindiss.sh (EXTRA_EM_FILE): Set to + `mipself'. + 2018-01-25 Eric Botcazou * testsuite/ld-sparc/sparc.exp (32-bit: Helper shared library): diff --git a/ld/emulparams/elf32mipswindiss.sh b/ld/emulparams/elf32mipswindiss.sh index 3b9678bba15..b8bb87edebe 100644 --- a/ld/emulparams/elf32mipswindiss.sh +++ b/ld/emulparams/elf32mipswindiss.sh @@ -1,4 +1,5 @@ TEMPLATE_NAME=elf32 +EXTRA_EM_FILE=mipself SCRIPT_NAME=elf OUTPUT_FORMAT="elf32-bigmips" BIG_OUTPUT_FORMAT="elf32-bigmips"