diff options
author | Bob Wilson <bob.wilson@acm.org> | 2003-04-10 19:19:02 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@acm.org> | 2003-04-10 19:19:02 +0000 |
commit | 9b8c98a4115e97121f587184c0ee86d6a1ec7878 (patch) | |
tree | 0104922c45c93d68daaf9d2a78595e7b91d7937f | |
parent | 7f78e2377135b81699b1a1c2e054b47e7248cb21 (diff) | |
download | gdb-9b8c98a4115e97121f587184c0ee86d6a1ec7878.zip gdb-9b8c98a4115e97121f587184c0ee86d6a1ec7878.tar.gz gdb-9b8c98a4115e97121f587184c0ee86d6a1ec7878.tar.bz2 |
* elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
next relocation on an undefined symbol.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-xtensa.c | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 2396d5b..ac7503e 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2003-04-10 Bob Wilson <bob.wilson@acm.org> + + * elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the + next relocation on an undefined symbol. + 2003-04-09 Richard Henderson <rth@redhat.com> * elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>: diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c index 92fb98c..b991df4 100644 --- a/bfd/elf32-xtensa.c +++ b/bfd/elf32-xtensa.c @@ -1893,6 +1893,7 @@ elf_xtensa_relocate_section (output_bfd, info, input_bfd, bfd_reloc_status_type r; bfd_boolean is_weak_undef; bfd_boolean unresolved_reloc; + bfd_boolean warned; r_type = ELF32_R_TYPE (rel->r_info); if (r_type == (int) R_XTENSA_GNU_VTINHERIT @@ -1983,6 +1984,7 @@ elf_xtensa_relocate_section (output_bfd, info, input_bfd, sec = NULL; is_weak_undef = FALSE; unresolved_reloc = FALSE; + warned = FALSE; if (howto->partial_inplace) { @@ -2039,10 +2041,7 @@ elf_xtensa_relocate_section (output_bfd, info, input_bfd, (!info->shared || info->no_undefined || ELF_ST_VISIBILITY (h->other))))) return FALSE; - - /* To avoid any more warning messages, like "call out of - range", we continue immediately to the next relocation. */ - continue; + warned = TRUE; } } @@ -2171,7 +2170,7 @@ elf_xtensa_relocate_section (output_bfd, info, input_bfd, contents, rel->r_offset, is_weak_undef, &error_message); - if (r != bfd_reloc_ok) + if (r != bfd_reloc_ok && !warned) { const char *name; |