DIE with abbrev 0 behaves as if it had abbrev 1 on re-request
by Petr Machata
Hi,
this, too, came up during my automated garbage generation. In this file
the abbrev code of CU DIE was changed to zero. libdw is then used thus:
die = dwarf_offdie (dw, 11, &die_mem);
assert (dwarf_tag (die) == 0);
die = dwarf_offdie (dw, 11, &die_mem);
assert (dwarf_tag (die) != 0);
Surprisingly, this actually passes. When we ask for dwarf_tag the first
time around, __libdw_findabbrev looks for abbrev with code 0, and
doesn't find it. It then proceeds with loading .debug_abbrev, looking
at each abbrev in turn, and obviously it won't find the one numbered 0.
Then __libdw_findabbrev asks for code 0 again. But
Dwarf_Abbrev_Hash_insert contains these lines
/* Make the hash value nonzero. */
hval = hval ?: 1;
So it goes on to look for abbrev with code 1 instead, and because
.debug_abbrev has been loaded by now, it of course finds it.
I don't advocate supporting arbitrarily broken DWARF files, but this
inconsistency seems worth a fix. Mine is on pmachata/findabbrev_0.
Thanks,
PM
13 years, 1 month
Merging some dwarf stuff to trunk?
by Mark Wielaard
Hi,
I was wondering what people were thinking about when/how to merge some
of the stuff on the dwarf branch to trunk. Although there is still work
to do on the compressor and writer, dwarflint seems to be a useful tool
already. It would be nice to have a release in the near future that
included dwarflint officially. Is that feasible or is it too soon? If
too soon, then what steps would be needed before it can me merged over?
Thanks,
Mark
13 years, 1 month
prelink test failure on hurd
by Kurt Roeckx
Hi,
I'm seeing this on hurd:
--- addr2line.out 2011-02-27 03:25:38.000000000 +0000
+++ - 2011-02-27 03:25:38.941254000 +0000
@@ -6,5 +6,5 @@
??:0
pstdin+0x1
??:0
-??
+foo+0x2
??:0
FAIL: run-prelink-addr-test.sh
Running it manually I get:
$ LD_LIBRARY_PATH=../libdw:../libelf ../src/addr2line -S -M testmaps54-32 0x1111fc 0x1122a4 0x410001fd 0x410012a5 0x420001fe
foo
??:0
pstdin
??:0
foo+0x1
??:0
pstdin+0x1
??:0
??
??:0
I'm not sure how to start to debug this.
Kurt
13 years, 1 month
Fwd: ACTION REQUIRED: Important changes to Fedora translation workflow
by Roland McGrath
I haven't looked into the details of this yet. It would be good if more
than one of us got familiar with handling the translation setup. The
arrangement we had before was that the translators just commit new .po
files directly without us doing anything about it. I gather this is now
changing so we need to drive the process a bit more, but I haven't
investigated it.
Thanks,
Roland
13 years, 1 month
New testfile: dwarf-getstring
by Marek Polacek
Hi,
I'd like to extend elfutils testsuite, so I've examined lcov coverage
report and picked up a function from libdw, dwarf_getstring(), which had
coverage 0%, with this test it is 100% covered. The .c and .sh files
are attached. Tested on x86_64. What do you folks think, is it
sufficient? Any comments or suggestions are very welcome. Thanks,
Marek
tests/ChangeLog:
2011-03-02 Marek Polacek <mpolacek(a)redhat.com>
* dwarf-getstring.c: New test.
* run-dwarf-getstring.sh: And its wrapper.
* Makefile.am (EXTRA_DIST): Add and update all.
diff -d -urpN src/elfutils/tests/Makefile.am
rpmbuild/BUILD/elfutils-0.152/tests/Makefile.am
--- src/elfutils/tests/Makefile.am 2011-02-28 14:59:12.189848145 +0100
+++ rpmbuild/BUILD/elfutils-0.152/tests/Makefile.am 2011-03-02
20:56:30.089749019 +0100
@@ -57,7 +57,7 @@ noinst_PROGRAMS = arextract arsymtest ne
dwfl-bug-addr-overflow arls dwfl-bug-fd-leak \
dwfl-addr-sect dwfl-bug-report early-offscn \
dwfl-bug-getmodules dwarf-getmacros addrcfi \
- test-flag-nobits
+ test-flag-nobits dwarf-getstring
asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
asm-tst6 asm-tst7 asm-tst8 asm-tst9
@@ -83,7 +83,8 @@ TESTS = run-arextract.sh run-arsymtest.s
run-dwfl-bug-offline-rel.sh run-dwfl-addr-sect.sh \
run-disasm-x86.sh run-disasm-x86-64.sh \
run-early-offscn.sh run-dwarf-getmacros.sh \
- run-test-flag-nobits.sh run-prelink-addr-test.sh
+ run-test-flag-nobits.sh run-prelink-addr-test.sh \
+ run-dwarf-getstring.sh
# run-show-ciefde.sh
if !STANDALONE
@@ -117,6 +118,7 @@ EXTRA_DIST = run-arextract.sh run-arsymt
run-addrname-test.sh run-dwfl-bug-offline-rel.sh \
run-dwfl-addr-sect.sh run-early-offscn.sh \
run-dwarf-getmacros.sh run-test-flag-nobits.sh \
+ run-dwarf-getstring.sh \
testfile15.bz2 testfile15.debug.bz2 \
testfile16.bz2 testfile16.debug.bz2 \
testfile17.bz2 testfile17.debug.bz2 \
@@ -246,6 +248,7 @@ dwfl_bug_getmodules_LDADD = $(libdw) $(l
dwfl_addr_sect_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
sha1_tst_LDADD = $(libeu) $(libmudflap)
dwarf_getmacros_LDADD = $(libdw) $(libmudflap)
+dwarf_getstring_LDADD = $(libdw) $(libmudflap)
addrcfi_LDADD = $(libdw) $(libebl) $(libelf) $(libmudflap) -ldl
test_flag_nobits_LDADD = $(libelf) $(libmudflap)
13 years, 1 month