diff options
Diffstat (limited to 'bfd/elfxx-mips.c')
-rw-r--r-- | bfd/elfxx-mips.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 396e578..5173c0a 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -7466,15 +7466,14 @@ _bfd_mips_vxworks_adjust_dynamic_symbol (struct bfd_link_info *info, htab->splt->size += htab->plt_entry_size; /* If the output file has no definition of the symbol, set the - symbol's value to the address of the stub. For executables, - point at the PLT load stub rather than the lazy resolution stub; - this stub will become the canonical function address. */ - if (!h->def_regular) + symbol's value to the address of the stub. Point at the PLT + load stub rather than the lazy resolution stub; this stub + will become the canonical function address. */ + if (!info->shared && !h->def_regular) { h->root.u.def.section = htab->splt; h->root.u.def.value = h->plt.offset; - if (!info->shared) - h->root.u.def.value += 8; + h->root.u.def.value += 8; } /* Make room for the .got.plt entry and the R_JUMP_SLOT relocation. */ |