From 46bc35a936e8372bc1ead7a843e582015212208f Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Tue, 22 Sep 2009 18:29:06 +0000 Subject: [PATCH] binutils/ * objdump.c (disassemble_section): Use bfd_get_arch_size instead of assuming that the address size is 32 bits. --- binutils/ChangeLog | 5 +++++ binutils/objdump.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index e049c1d5c22..a41b7294523 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2009-09-22 Richard Sandiford + + * objdump.c (disassemble_section): Use bfd_get_arch_size + instead of assuming that the address size is 32 bits. + 2009-09-21 Alan Modra * readelf.c (get_ppc_dynamic_type): Add TLSOPT. diff --git a/binutils/objdump.c b/binutils/objdump.c index 3768f7e2b93..dd0d0ef50c2 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -1891,13 +1891,13 @@ disassemble_section (bfd *abfd, asection *section, void *info) &place); paux->require_sec = FALSE; - /* PR 9774: If the target used signed 32-bit addresses then we must make - sure that we sign extend the value that we calculate for 'addr' in the - loop below. */ + /* PR 9774: If the target used signed addresses then we must make + sure that we sign extend the value that we calculate for 'addr' + in the loop below. */ if (bfd_get_flavour (abfd) == bfd_target_elf_flavour && (bed = get_elf_backend_data (abfd)) != NULL && bed->sign_extend_vma) - sign_adjust = 0x80000000; + sign_adjust = (bfd_vma) 1 << (bed->s->arch_size - 1); /* Disassemble a block of instructions up to the address associated with the symbol we have just found. Then print the symbol and find the -- 2.30.2