I didn't see any more replies to the patches and wanted to push them.
But doing some self-reviewing I found two issues. The new symbol version
directive should be ELFUTILS_0.155 (not 0.154) and two functions were
missing (dwarf_endianity_string and dwarf_decimal_sign_string), readelf
was missing these too. So I added that and rebased on master. I fixed up
one testcase that depended on CU language description instead of constant
New rebased patches also on mjw/dwarfstrings branch. If this looks OK then
I'll merge it to master.
Signed-off-by: Jan Pokorný <jpokorny(a)redhat.com>
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 31ab21c..7932489 100644
@@ -17,7 +17,7 @@ dnl GNU General Public License for more details.
dnl You should have received a copy of the GNU General Public License
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
I'm currently seeing this:
section  '.symtab': symbol 306: st_value out of bounds
*** failure in ../src/elflint --quiet --gnu-ld ../src/ld
section  '.symtab': symbol 311: st_value out of bounds
*** failure in ../src/elflint --quiet --gnu-ld ../libelf/libelf.so
Which seems to be this symbol:
306: 000000000062a2e0 0 OBJECT LOCAL DEFAULT 26 __TMC_END__
And this binutils bug:
Is there something we can do to ignore this?
This patch adds support for dwz multi debuginfo files to libdw.
Fedora is planning to use these in the next release:
The new DW_FORMs are proposed for DWARF5:
But are currently only a GNU extension written by the dwz tool:
libdw was already setup anticipating such a scheme, so adding support
wasn't so hard. Basically a Dwarf descriptor can now have an alternative
Dwarf descriptor that is consulted whenever one of the new DW_FROM_*alts
dwarf_begin_elf will find the right dwz alternative to use. But this is
currently tied somewhat to how fedora implemented this. There are also
two new functions dwarf_getalt () and dwarf_addalt () that can be used
to directly manipulate the alternative Dwarf descriptor. I anticipate
those will be used by some new libdwfl callbacks if we decide those are
necessary to support other ways to get/set alternative Dwarf
This is only lightly tested, but some quick stap queries on rawhide
packages that already had dwz files seemed to return the right results.
I did add some small test binary files and a readelf test to show the
results. I'll add some more tests once we decide whether this is the
proper way to support this.
Please take a look at the proposed implementation and let me know
whether it looks OK or some other approach might be better. I also
pushed this to the mjw/dwz branch.
these two patches implement support for 64-bit symbol table in .a
archives. As of recently, binutils' ar produces such archives on s390x
(regardless of actual archive size). This appears to be the same as
"/", except all fields are 64-bit.
These patches enable readelf -c and readelf -a, fixes run-arextract.sh
and run-arsymtest.sh on s390x, and adds a test that will trigger on any
arch (in patch #2). Tested on i686, x86_64, ppc32, ppc64 and s390x.
The following messages are the last 4 dwarfstrings patches, the two
remaining code and two remaining test changes. The first introduces
known-dwarf macros in the current code, the second moves them into
their own files with public functions, the third adds a new self test
that checks all encountered DWARF codes are known. The last introduces
the C++ test framework and a (very) simple test that depends on a
[PATCH 1/4] Rewrite DWARF string functions using known-dwarf macros.
[PATCH 2/4] libdw: Add dwarfstrings functions.
[PATCH 3/4] tests: Add run-readelf-unknown-self.sh test
[PATCH 4/4] tests: Add C++ self test binary.
I would like to apply these now unless there are more comments,
suggestions or objections.