diff options
author | Alan Modra <amodra@bigpond.net.au> | 2003-07-30 02:15:07 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2003-07-30 02:15:07 +0000 |
commit | 6b4cb190a7cabb655103c0f19ab696a6631a7b0a (patch) | |
tree | f9863d6039ff21e95c03eed4bbab617b23a05b65 /bfd/elf-hppa.h | |
parent | 2c3abe267634e69ada1cd81741a3f7b187ef0199 (diff) | |
download | binutils-redhat-6b4cb190a7cabb655103c0f19ab696a6631a7b0a.tar.gz |
* elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak.
* elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type.
Diffstat (limited to 'bfd/elf-hppa.h')
-rw-r--r-- | bfd/elf-hppa.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/bfd/elf-hppa.h b/bfd/elf-hppa.h index f372746601..90f648289f 100644 --- a/bfd/elf-hppa.h +++ b/bfd/elf-hppa.h @@ -1491,12 +1491,25 @@ elf_hppa_relocate_section (output_bfd, info, input_bfd, input_section, (_("%s: warning: unresolvable relocation against symbol `%s' from %s section"), bfd_archive_filename (input_bfd), h->root.root.string, bfd_get_section_name (input_bfd, input_section)); - relocation = 0; } relocation = 0; } else if (h->root.type == bfd_link_hash_undefweak) - relocation = 0; + { + dyn_name = get_dyn_name (input_section, h, rel, + &dynh_buf, &dynh_buflen); + dyn_h = elf64_hppa_dyn_hash_lookup (&hppa_info->dyn_hash_table, + dyn_name, FALSE, FALSE); + + if (dyn_h == NULL) + { + (*_bfd_error_handler) + (_("%s: warning: unresolvable relocation against symbol `%s' from %s section"), + bfd_archive_filename (input_bfd), h->root.root.string, + bfd_get_section_name (input_bfd, input_section)); + } + relocation = 0; + } else { /* Ignore dynamic loader defined symbols. */ |