diff options
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elfxx-mips.c | 17 |
2 files changed, 6 insertions, 16 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c5a8cc7..6b5d783 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2003-07-09 Richard Sandiford <rsandifo@redhat.com> + + * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always + initialize a GOT entry to the symbol's st_value. + 2003-07-08 Alan Modra <amodra@bigpond.net.au> * elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers.. diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 801903f..986ba69 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -6732,22 +6732,7 @@ _bfd_mips_elf_finish_dynamic_symbol (output_bfd, info, h, sym) bfd_vma offset; bfd_vma value; - if (sym->st_value) - value = sym->st_value; - else - { - /* For an entity defined in a shared object, this will be - NULL. (For functions in shared objects for - which we have created stubs, ST_VALUE will be non-NULL. - That's because such the functions are now no longer defined - in a shared object.) */ - - if ((info->shared && h->root.type == bfd_link_hash_undefined) - || h->root.type == bfd_link_hash_undefweak) - value = 0; - else - value = h->root.u.def.value; - } + value = sym->st_value; offset = mips_elf_global_got_index (dynobj, output_bfd, h); MIPS_ELF_PUT_WORD (output_bfd, value, sgot->contents + offset); } |