On Fri, 2015-10-09 at 14:16 +0200, Jose E. Marchesi wrote:
commit c5d24f902b7d97d57fe72cece3983d02efd91c5f
Author: Jose E. Marchesi <jose.marchesi(a)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(a)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