MIPS/LD: Correct `mips-*-windiss' target emulation configuration

Fix an issue with commit 73934d319d ("Disable .gnu.hash on MIPS
targets"), <https://sourceware.org/ml/binutils/2006-07/msg00341.html>,
which in turn caused a regression with commit 861fb55ab5 ("Defer
allocation of R_MIPS_REL32 GOT slots"),
<https://sourceware.org/ml/binutils/2008-08/msg00096.html>, 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'.
This commit is contained in:
Maciej W. Rozycki 2018-01-26 23:05:06 +00:00
parent 1e3f554897
commit 2ebd05b80b
2 changed files with 6 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2018-01-26 Maciej W. Rozycki <macro@mips.com>
* emulparams/elf32mipswindiss.sh (EXTRA_EM_FILE): Set to
`mipself'.
2018-01-25 Eric Botcazou <ebotcazou@adacore.com>
* testsuite/ld-sparc/sparc.exp (32-bit: Helper shared library):

View File

@ -1,4 +1,5 @@
TEMPLATE_NAME=elf32
EXTRA_EM_FILE=mipself
SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-bigmips"
BIG_OUTPUT_FORMAT="elf32-bigmips"