From: Nick Clifton Date: Wed, 30 Nov 2016 11:06:42 +0000 (+0000) Subject: Stop readelf from complaining about out of order PT_LOAD segments. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=502d895cd1ca5d4abf4ef55984cbf5239aeaef0c;p=binutils-gdb.git Stop readelf from complaining about out of order PT_LOAD segments. PR ld/20815 * readelf.c (process_program_headers): Do not warn about out of order PT_LOAD segments. --- diff --git a/binutils/ChangeLog b/binutils/ChangeLog index eab32c7d649..35cd6911449 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 347b6b96923..c5a628fc936 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;