d570a8
diff -Nrup a/bfd/elf.c b/bfd/elf.c
d570a8
--- a/bfd/elf.c	2015-05-26 16:15:38.169585374 -0600
d570a8
+++ b/bfd/elf.c	2015-05-26 16:16:07.571947059 -0600
d570a8
@@ -3912,6 +3912,11 @@ _bfd_elf_map_sections_to_segments (bfd *
d570a8
       last_size = 0;
d570a8
       phdr_index = 0;
d570a8
       maxpagesize = bed->maxpagesize;
d570a8
+      /* PR 17512: file: c8455299.
d570a8
+	 Avoid divide-by-zero errors later on.
d570a8
+	 FIXME: Should we abort if the maxpagesize is zero ?  */
d570a8
+      if (maxpagesize == 0)
d570a8
+	maxpagesize = 1;
d570a8
       writable = FALSE;
d570a8
       dynsec = bfd_get_section_by_name (abfd, ".dynamic");
d570a8
       if (dynsec != NULL