[PATCH] elflint: do not rely on ebl_check_special_section when checking debuginfo files.

Mark Wielaard mjw at redhat.com
Fri Oct 9 14:10:59 UTC 2015


On Fri, 2015-10-09 at 14:16 +0200, Jose E. Marchesi wrote:
> commit c5d24f902b7d97d57fe72cece3983d02efd91c5f
> Author: Jose E. Marchesi <jose.marchesi at oracle.com>
> Date:   Fri Oct 9 08:09:00 2015 -0400
> 
>     Do not rely on ebl_check_special_section when checking debuginfo files.
>     
>     The test run-strip-strmerge.sh is failing in sparc targets.  This is
>     because it does an `elflint -d' in a debuginfo file, and this fails
>     with:
>     
>       section [21] '.plt' is both executable and writable
>     
>     elflint uses the ebl_check_special_section hook (implemented only by
>     the alpha and sparc backends) in order to determine whether an
>     executable+writable section must be flagged or not.  In both cases the
>     hook will fail analyzing eu-strip debuginfo files (as they should,
>     because debuginfo files are broken ;).
>     
>     This patch just modifies elflint to not use the hook when -d is
>     specified in the command-line.  This fixes the test in sparc-* and
>     sparc64-* targets (and presumably in alpha* targets too).
>     
>     Signed-off-by: Jose E. Marchesi <jose.marchesi at oracle.com>

OK, so you cannot really check this through check_special_section
because you need access to the dynamic section to check whether this is
really is the special section we are looking for. And .dynamic is also
nobits in a debuginfo file. So we cannot verify. I think we should at
least also check that the section itself is NOBITS in that case.

Cheers,

Mark


More information about the elfutils-devel mailing list