From 502d895cd1ca5d4abf4ef55984cbf5239aeaef0c Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 30 Nov 2016 11:06:42 +0000 Subject: [PATCH] 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. --- binutils/ChangeLog | 6 ++++++ binutils/readelf.c | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index eab32c7..35cd691 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 347b6b9..c5a628f 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; -- 2.7.4