diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3ddafcb09d..303d97b912 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2016-08-10 Maciej W. Rozycki + + * elfxx-mips.c (mips_elf_add_la25_stub): Clear the ISA bit of + the stub address retrieved if associated with a microMIPS + function. + 2016-08-10 Maciej W. Rozycki * elfxx-mips.c (mips_elf_create_stub_symbol): For a microMIPS diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 6690428c64..ffc524fc0d 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -1964,6 +1964,8 @@ mips_elf_add_la25_stub (struct bfd_link_info *info, /* Prefer to use LUI/ADDIU stubs if the function is at the beginning of the section and if we would need no more than 2 nops. */ value = mips_elf_get_la25_target (stub, &s); + if (ELF_ST_IS_MICROMIPS (stub->h->root.other)) + value &= ~1; use_trampoline_p = (value != 0 || s->alignment_power > 4); h->la25_stub = stub;