aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2009-03-05 16:31:50 +0000
committerNick Clifton <nickc@redhat.com>2009-03-05 16:31:50 +0000
commit84d7b001a67873d45e47e52e9978f09f78e96035 (patch)
tree3a85d4c9d50e7f6588e4c2f055785816b6594ead /binutils
parentcc3f603a65ec4b4d6049f8c61931abf400433c4b (diff)
downloadgdb-84d7b001a67873d45e47e52e9978f09f78e96035.zip
gdb-84d7b001a67873d45e47e52e9978f09f78e96035.tar.gz
gdb-84d7b001a67873d45e47e52e9978f09f78e96035.tar.bz2
* objdump.c (disassemble_section): If the computed next offset is
not beyond the current offset then just continue to the end.
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 8b4038a..45082bf 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2009-03-05 Nick Clifton <nickc@redhat.com>
+
+ * objdump.c (disassemble_section): If the computed next offset is
+ not beyond the current offset then just continue to the end.
+
2009-03-04 Tristan Gingold <gingold@adacore.com>
* MAINTAINERS: Add myself as VMS maintainer.
diff --git a/binutils/objdump.c b/binutils/objdump.c
index 59289e0..265a8ea 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -1961,7 +1961,8 @@ disassemble_section (bfd *abfd, asection *section, void *info)
else
nextstop_offset = bfd_asymbol_value (nextsym) - section->vma;
- if (nextstop_offset > stop_offset)
+ if (nextstop_offset > stop_offset
+ || nextstop_offset <= addr_offset)
nextstop_offset = stop_offset;
/* If a symbol is explicitly marked as being an object
@@ -1984,7 +1985,7 @@ disassemble_section (bfd *abfd, asection *section, void *info)
disassemble_bytes (pinfo, paux->disassemble_fn, insns, data,
addr_offset, nextstop_offset,
rel_offset, &rel_pp, rel_ppend);
-
+
addr_offset = nextstop_offset;
sym = nextsym;
}