From: Alan Modra Date: Sun, 11 Jun 2017 04:04:13 +0000 (+0930) Subject: PR 21564, Section start in binary output file incorrect X-Git-Tag: binutils-2_29~328 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9b97dfbf8049bed3b2f79c6c785afaf18206dad3;p=external%2Fbinutils.git PR 21564, Section start in binary output file incorrect PR 21564 * binary.c (binary_set_section_contents): Scale lma by octets per byte to set filepos. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d899df6..a0c2681 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2017-06-11 Joe Zbiciak + + PR 21564 + * binary.c (binary_set_section_contents): Scale lma by octets + per byte to set filepos. + 2017-06-08 Cupertino Miranda * elf32-arc.c (elf_arc_check_relocs): Fixed conditions to generate diff --git a/bfd/binary.c b/bfd/binary.c index ff52f14..0a811cf 100644 --- a/bfd/binary.c +++ b/bfd/binary.c @@ -230,6 +230,7 @@ binary_set_section_contents (bfd *abfd, if (! abfd->output_has_begun) { + unsigned int opb; bfd_boolean found_low; bfd_vma low; asection *s; @@ -250,9 +251,10 @@ binary_set_section_contents (bfd *abfd, found_low = TRUE; } + opb = bfd_octets_per_byte (abfd); for (s = abfd->sections; s != NULL; s = s->next) { - s->filepos = s->lma - low; + s->filepos = (s->lma - low) * opb; /* Skip following warning check for sections that will not occupy file space. */