diff options
author | Alan Modra <amodra@gmail.com> | 2017-06-11 13:34:13 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2017-06-11 13:45:18 +0930 |
commit | 9b97dfbf8049bed3b2f79c6c785afaf18206dad3 (patch) | |
tree | 7da501ce8650a2e97faa3ca4612ac8ca5e04f1c3 | |
parent | c7198f97e026f2a2d53de8dda090c04619355a36 (diff) | |
download | gdb-9b97dfbf8049bed3b2f79c6c785afaf18206dad3.zip gdb-9b97dfbf8049bed3b2f79c6c785afaf18206dad3.tar.gz gdb-9b97dfbf8049bed3b2f79c6c785afaf18206dad3.tar.bz2 |
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.
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/binary.c | 4 |
2 files changed, 9 insertions, 1 deletions
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 <joe.zbiciak@leftturnonly.info> + + PR 21564 + * binary.c (binary_set_section_contents): Scale lma by octets + per byte to set filepos. + 2017-06-08 Cupertino Miranda <cmiranda@synopsys.com> * 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. */ |