From: Andreas Schwab Date: Tue, 9 Aug 2022 08:29:53 +0000 (+0200) Subject: elflint: Allow zero p_memsz for PT_RISCV_ATTRIBUTES X-Git-Tag: elfutils-0.188~43 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2f275fc12127db031592752136f077f5f3f3d273;p=thirdparty%2Felfutils.git elflint: Allow zero p_memsz for PT_RISCV_ATTRIBUTES The RISCV_ATTRIBUTES segment is not meant to be loaded. Signed-off-by: Andreas Schwab --- diff --git a/src/ChangeLog b/src/ChangeLog index 42ce66401..fbcef29e3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2022-08-09 Andreas Schwab + + * elflint.c (check_program_header): Don't complain about p_filesz + > p_memsz if p_memsz is zero and p_type is PT_RISCV_ATTRIBUTES. + 2022-08-01 Mark Wielaard * readelf.c (handle_dynamic): Pass start of buffer to memrchr. diff --git a/src/elflint.c b/src/elflint.c index d919936fc..b0e5415ef 100644 --- a/src/elflint.c +++ b/src/elflint.c @@ -4731,7 +4731,10 @@ section [%2zu] '%s' must not be executable\n"), } if (phdr->p_filesz > phdr->p_memsz - && (phdr->p_memsz != 0 || phdr->p_type != PT_NOTE)) + && (phdr->p_memsz != 0 + || (phdr->p_type != PT_NOTE + && !(ehdr->e_machine == EM_RISCV + && phdr->p_type == PT_RISCV_ATTRIBUTES)))) ERROR (_("\ program header entry %d: file size greater than memory size\n"), cnt);