From 76cb3a89a6615cf3418fa1efe8268bf6673a5c8a Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 30 Jan 2018 16:02:32 +1030 Subject: PR22758, FAIL: Run pr22393-2 We can't map different disk pages into the same memory page; The last page mapped will simply overwrite any previous pages. The executable/non-executable new_segment test ignored this fact, leading to a ld.so segfault on hppa when .dynamic is overwritten with zeros. This patch moves existing tests for demand paging with lma on the same memory page, to a new test performed before any case where we want a new segment due to protection or loadable conflicts. PR 22758 * elf.c (_bfd_elf_map_sections_to_segments): Don't start a new segment when demand paged with lma on the same page. Test this before load/non-load, executable/non-executable, writable/non-writable tests and simplify. Delete bogus relro condition in writable/non-writable test. Delete outdated comment. Formatting. --- bfd/ChangeLog | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'bfd/ChangeLog') diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 4a45b55..fb93985 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,15 @@ 2018-01-30 Alan Modra + PR 22758 + * elf.c (_bfd_elf_map_sections_to_segments): Don't start a new + segment when demand paged with lma on the same page. Test this + before load/non-load, executable/non-executable, + writable/non-writable tests and simplify. Delete bogus relro + condition in writable/non-writable test. Delete outdated + comment. Formatting. + +2018-01-30 Alan Modra + * elflink.c (bfd_elf_define_start_stop): Make __start and __stop symbols dynamic. -- cgit v1.1