summaryrefslogtreecommitdiff
path: root/binutils/objdump.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2009-03-03 01:27:15 +0000
committerAlan Modra <amodra@bigpond.net.au>2009-03-03 01:27:15 +0000
commitdf169ea3d541b18581ea734e4ebcd70c1f835213 (patch)
treeb39eac0a1a7737c8d2788505f50ffb4d281a2fc3 /binutils/objdump.c
parent295e8fe2561929462e9fa92c4fa0da28ab22649e (diff)
downloadbinutils-redhat-df169ea3d541b18581ea734e4ebcd70c1f835213.tar.gz
* objdump.c (disassemble_section): Mask address before sign extending.
Diffstat (limited to 'binutils/objdump.c')
-rw-r--r--binutils/objdump.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/binutils/objdump.c b/binutils/objdump.c
index 968a667f4a..59289e0552 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -1898,7 +1898,7 @@ disassemble_section (bfd *abfd, asection *section, void *info)
bfd_boolean insns;
addr = section->vma + addr_offset;
- addr = (addr ^ sign_adjust) - sign_adjust;
+ addr = ((addr & ((sign_adjust << 1) - 1)) ^ sign_adjust) - sign_adjust;
if (sym != NULL && bfd_asymbol_value (sym) <= addr)
{