aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/coff-m68k.c3
-rw-r--r--bfd/coffcode.h1
3 files changed, 8 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 9fc72ca..9cfa98d 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2007-04-24 Nick Clifton <nickc@redhat.com>
+
+ * coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset.
+ * coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto.
+
2007-04-24 Alan Modra <amodra@bigpond.net.au>
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
diff --git a/bfd/coff-m68k.c b/bfd/coff-m68k.c
index ae524e4..3d162a0 100644
--- a/bfd/coff-m68k.c
+++ b/bfd/coff-m68k.c
@@ -251,11 +251,12 @@ m68kcoff_rtype_to_howto (abfd, sec, rel, h, sym, addendp)
arelent relent;
reloc_howto_type *howto;
+ relent.howto = NULL;
RTYPE2HOWTO (&relent, rel);
howto = relent.howto;
- if (howto->pc_relative)
+ if (howto != NULL && howto->pc_relative)
*addendp += sec->vma;
return howto;
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 98d1c08..a2aac5f 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -4870,6 +4870,7 @@ coff_slurp_reloc_table (bfd * abfd, sec_ptr asect, asymbol ** symbols)
cache_ptr = reloc_cache + idx;
src = native_relocs + idx;
+ dst.r_offset = 0;
coff_swap_reloc_in (abfd, src, &dst);
#ifdef RELOC_PROCESSING