aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@acm.org>2003-04-10 19:19:02 +0000
committerBob Wilson <bob.wilson@acm.org>2003-04-10 19:19:02 +0000
commit9b8c98a4115e97121f587184c0ee86d6a1ec7878 (patch)
tree0104922c45c93d68daaf9d2a78595e7b91d7937f /bfd
parent7f78e2377135b81699b1a1c2e054b47e7248cb21 (diff)
downloadgdb-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.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf32-xtensa.c9
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;