diff --git a/binutils/ChangeLog b/binutils/ChangeLog index eab32c7d64..35cd691144 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2016-11-30 Nick Clifton + + PR ld/20815 + * readelf.c (process_program_headers): Do not warn about out of + order PT_LOAD segments. + 2016-11-29 Claudiu Zissulescu * testsuite/binutils-all/arc/objdump.exp (Warning test): Update diff --git a/binutils/readelf.c b/binutils/readelf.c index 347b6b9692..c5a628fc93 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -4909,9 +4909,13 @@ process_program_headers (FILE * file) switch (segment->p_type) { case PT_LOAD: +#if 0 /* Do not warn about out of order PT_LOAD segments. Although officially + required by the ELF standard, several programs, including the Linux + kernel, make use of non-ordered segments. */ if (previous_load && previous_load->p_vaddr > segment->p_vaddr) error (_("LOAD segments must be sorted in order of increasing VirtAddr\n")); +#endif if (segment->p_memsz < segment->p_filesz) error (_("the segment's file size is larger than its memory size\n")); previous_load = segment;