From 4ef27e045fbd5b9ec41685ea3843f65fc15827af Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 3 Apr 2014 11:59:05 +0200 Subject: [PATCH] bfd_get_arch_size: return size from arch info on non-ELF targets. bfd/ * bfd.c (bfd_get_arch_size): Default is taken from arch. --- bfd/ChangeLog | 4 ++++ bfd/bfd.c | 10 ++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c1c6b3e..e134050 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2014-04-04 Tristan Gingold + + * bfd.c (bfd_get_arch_size): Default is taken from arch. + 2014-04-03 Jon Turney * peXXigen.c (pe_print_edata): Verify edt.name lies inside diff --git a/bfd/bfd.c b/bfd/bfd.c index 6b00592..41de1bb 100644 --- a/bfd/bfd.c +++ b/bfd/bfd.c @@ -1073,9 +1073,11 @@ SYNOPSIS int bfd_get_arch_size (bfd *abfd); DESCRIPTION - Returns the architecture address size, in bits, as determined - by the object file's format. For ELF, this information is - included in the header. + Returns the normalized architecture address size, in bits, as + determined by the object file's format. By normalized, we mean + either 32 or 64. For ELF, this information is included in the + header. Use bfd_arch_bits_per_address for number of bits in + the architecture address. RETURNS Returns the arch size in bits if known, <<-1>> otherwise. @@ -1087,7 +1089,7 @@ bfd_get_arch_size (bfd *abfd) if (abfd->xvec->flavour == bfd_target_elf_flavour) return get_elf_backend_data (abfd)->s->arch_size; - return -1; + return bfd_arch_bits_per_address (abfd) > 32 ? 64 : 32; } /* -- 2.7.4