Jose E. Marchesi bc119074c2 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).

Additionaly, the patch checks that the type of WE sections in
debuginfo files is NOBITS.

Signed-off-by: Jose E. Marchesi <jose.marchesi@oracle.com>
2015-10-13 19:42:19 +02:00
2015-10-06 17:50:10 -07:00
2015-10-12 12:22:59 +02:00
2015-10-06 17:50:10 -07:00
2015-10-06 17:50:10 -07:00
2015-10-02 17:14:22 +02:00
2015-07-29 18:18:23 +02:00
2009-01-10 18:17:09 -08:00
2013-08-21 10:41:12 +02:00
2005-07-26 05:00:05 +00:00
2015-06-19 13:43:58 +02:00
2005-07-26 05:00:05 +00:00
2009-01-10 18:17:09 -08:00

Fundamental design decision:

- the sizes of external and internal types are assumed to be the same.
  This leaves byte ordering aside.  While assuming this the code can be
  greatly simplified and speed increases.  Since no change violating this
  assumption is in sight this is believed to be a worthwhile optimization.

- the ABI of the backend modules is not guaranteed.  Really, no guarantee
  whatsoever.  We are enforcing this in the code.  The modules and their
  users must match.  No third-party EBL module are supported or allowed.
  The only reason there are separate modules is to not have the code for
  all architectures in all the binaries.

- although the public libraries (libasm, libdw) have a stable API and are
  backwards ABI compatible they, and the elfutils tools, do depend on each
  others internals, and on internals of libelf to provide their interfaces.
  So they should always be upgraded in lockstep when packaging the tools
  and libraries separately. For one example of how to do that, see the
  config/elfutils.spec.
S
Description
暂无描述
Readme 23 MiB
Languages
C 70.8%
Shell 22.6%
C++ 3.3%
Makefile 1.4%
M4 1%
Other 0.8%