aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2002-09-28 03:25:56 +0000
committerAlan Modra <amodra@gmail.com>2002-09-28 03:25:56 +0000
commitb89fe0ee4b061b9150fd2ae60800a589ffd163f3 (patch)
tree054156cfcda1ccacf11353f6c1b3e58db474ea95
parentc02920230d7a57be634572745978d819a33bea1e (diff)
downloadgdb-b89fe0ee4b061b9150fd2ae60800a589ffd163f3.zip
gdb-b89fe0ee4b061b9150fd2ae60800a589ffd163f3.tar.gz
gdb-b89fe0ee4b061b9150fd2ae60800a589ffd163f3.tar.bz2
* elf.c (map_sections_to_segments): Correct test for start of
writable section in the same page as end of read-only section.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elf.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index a78f224..ed2e016 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2002-09-28 Alan Modra <amodra@bigpond.net.au>
+
+ * elf.c (map_sections_to_segments): Correct test for start of
+ writable section in the same page as end of read-only section.
+
2002-09-27 Matt Thomas <matt@3am-software.com>
* elf32-vax.c (elf_vax_check_relocs): Remove unused
diff --git a/bfd/elf.c b/bfd/elf.c
index b8a300e..c1e2d11 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -3317,8 +3317,9 @@ map_sections_to_segments (abfd)
}
else if (! writable
&& (hdr->flags & SEC_READONLY) == 0
- && (BFD_ALIGN (last_hdr->lma + last_hdr->_raw_size, maxpagesize)
- == hdr->lma))
+ && (((last_hdr->lma + last_hdr->_raw_size - 1)
+ & ~(maxpagesize - 1))
+ != (hdr->lma & ~(maxpagesize - 1))))
{
/* We don't want to put a writable section in a read only
segment, unless they are on the same page in memory