PATCH: Fix off by one error in mapping sections to segments
Nick Clifton
nickc@redhat.com
Thu Jul 24 07:51:00 GMT 2008
Hi Guys,
I had an off by one error in my recent update to the code to map
sections to segments. If one section ended right on a page boundary
and the next section started exactly at the beginning of the next
but one page, the algorithm would still allocate the sections to the
same segment, rather than splitting them up.
Fixed by applying the following patch.
Cheers
Nick
bfd/ChangeLog
2008-07-24 Nick Clifton <nickc@redhat.com>
* elf.c (_bfd_elf_map_sections_to_segments): Catch off by one
error assigning sections to segments.
Index: bfd/elf.c
===================================================================
RCS file: /cvs/src/src/bfd/elf.c,v
retrieving revision 1.456
diff -c -3 -p -r1.456 elf.c
*** bfd/elf.c 22 Jul 2008 11:19:01 -0000 1.456
--- bfd/elf.c 24 Jul 2008 07:47:38 -0000
*************** _bfd_elf_map_sections_to_segments (bfd *
*** 3728,3734 ****
else if ((BFD_ALIGN (last_hdr->lma + last_size, maxpagesize) + maxpagesize
> last_hdr->lma)
&& (BFD_ALIGN (last_hdr->lma + last_size, maxpagesize) + maxpagesize
! < hdr->lma))
{
/* If putting this section in this segment would force us to
skip a page in the segment, then we need a new segment. */
--- 3728,3734 ----
else if ((BFD_ALIGN (last_hdr->lma + last_size, maxpagesize) + maxpagesize
> last_hdr->lma)
&& (BFD_ALIGN (last_hdr->lma + last_size, maxpagesize) + maxpagesize
! <= hdr->lma))
{
/* If putting this section in this segment would force us to
skip a page in the segment, then we need a new segment. */
More information about the Binutils
mailing list