I closed this bug as invalid, but I think it is worth mentioning in NEWS
that older linkers didn't check PT_PHDR very well. The patch also allows
people to force an output file with --noinhibit-exec after the error.
bfd/
PR 25585
* elf.c (assign_file_positions_for_load_sections): Continue linking
on "PHDR segment not covered by LOAD segment" errors.
ld/
PR 25585
* NEWS: Mention better "PHDR segment not covered by LOAD segment"
checking.
+2020-02-22 Alan Modra <amodra@gmail.com>
+
+ PR 25585
+ * elf.c (assign_file_positions_for_load_sections): Continue linking
+ on "PHDR segment not covered by LOAD segment" errors.
+
2020-02-21 Alan Modra <amodra@gmail.com>
* mach-o.c (bfd_mach_o_canonicalize_relocs): Fix ineffective
_bfd_error_handler (_("%pB: error: PHDR segment not covered"
" by LOAD segment"),
abfd);
- return FALSE;
+ if (link_info == NULL)
+ return FALSE;
+ /* Arrange for the linker to exit with an error, deleting
+ the output file unless --noinhibit-exec is given. */
+ link_info->callbacks->info ("%X");
}
/* Check that all sections are in a PT_LOAD segment.
+2020-02-22 Alan Modra <amodra@gmail.com>
+
+ PR 25585
+ * NEWS: Mention better "PHDR segment not covered by LOAD segment"
+ checking.
+
2020-02-19 Sergey Belyashov <sergey.belyashov@gmail.com>
PR 25537
Changes in 2.34:
+* The ld check for "PHDR segment not covered by LOAD segment" is more
+ effective, catching cases that were wrongly allowed by previous versions of
+ ld. If you see this error it is likely you are linking with a bad linker
+ script or the binary you are building is not intended to be loaded by a
+ dynamic loader. In the latter case --no-dynamic-linker is appropriate.
+
* cr16c support removed.
* Add support for z80-elf.