aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'binutils')
-rw-r--r--binutils/ChangeLog5
-rw-r--r--binutils/objdump.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index ede4c6d..33bfd3e 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2010-02-08 Christophe Lyon <christophe.lyon@st.com>
+
+ * objdump.c (disassemble_bytes): Clear aux->reloc before printing
+ a new address, so as not to reuse a previous, non-related reloc.
+
2010-02-02 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (get_note_type): Handle NT_X86_XSTATE.
diff --git a/binutils/objdump.c b/binutils/objdump.c
index b53d4eb..41d0b4e 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -1516,6 +1516,9 @@ disassemble_bytes (struct disassemble_info * inf,
previous_octets = octets;
octets = 0;
+ /* Make sure we don't use relocs from previous instructions. */
+ aux->reloc = NULL;
+
/* If we see more than SKIP_ZEROES octets of zeroes, we just
print `...'. */
for (z = addr_offset * opb; z < stop_offset * opb; z++)
@@ -1619,8 +1622,6 @@ disassemble_bytes (struct disassemble_info * inf,
inf->flags |= INSN_HAS_RELOC;
aux->reloc = **relppp;
}
- else
- aux->reloc = NULL;
}
octets = (*disassemble_fn) (section->vma + addr_offset, inf);