mirror of
git://sourceware.org/git/libabigail.git
synced 2025-03-04 21:57:42 +00:00
Correctly handle fn DIE with abstract_origin in alt debug info
When a function decl DIE is in the main DWARF file but has an abstract origin that is in the alternate DWARF file, the dwarf reader mistakenly considers the resulting function decl as being for a DIE that is in the alternate DWARF file. Fixed thus. * src/abg-dwarf-reader.cc (build_ir_node_from_die): Consider that the function decl is for a DIE in the alternate debug info file only if the DIE itself comes from the alternate debug info file, not if the specification or the origin of the function comes from the alternate debug info file. * tests/data/test-diff-pkg/qemu-img-rhev-2.3.0-20.el7.ppc64.rpm: New test input rpm. * tests/data/test-diff-pkg/qemu-img-rhev-2.3.0-7.el7.ppc64.rpm: Likewise. * tests/data/test-diff-pkg/qemu-kvm-rhev-debuginfo-2.3.0-20.el7.ppc64.rpm: Likewise. * tests/data/test-diff-pkg/qemu-kvm-rhev-debuginfo-2.3.0-7.el7.ppc64.rpm: Likewise. * tests/data/test-diff-pkg/qemu-img-rhev-2.3.0-7.el7.ppc64--qemu-img-rhev-2.3.0-20.el7.ppc64-report-0.txt: New test reference output. * tests/data/Makefile.am: Add the new test material to the source distribution. * tests/test-diff-pkg.cc (in_out_specs): Use the new test rpm inputs. Signed-off-by: Dodji Seketeli <dodji@redhat.com>
This commit is contained in:
parent
17b04f2e04
commit
18c3ce3e56
@ -8264,7 +8264,7 @@ build_ir_node_from_die(read_context& ctxt,
|
||||
// of 'd'.
|
||||
fn = fn->clone();
|
||||
ctxt.associate_die_to_decl(dwarf_dieoffset(die),
|
||||
is_in_alternate_debug_info,
|
||||
die_is_from_alt_di,
|
||||
fn);
|
||||
}
|
||||
}
|
||||
|
@ -948,4 +948,9 @@ test-diff-pkg/tarpkg-0-dir2.tar \
|
||||
test-diff-pkg/tarpkg-0-dir2.ta \
|
||||
test-diff-pkg/tarpkg-0-dir2.tar.bz2 \
|
||||
test-diff-pkg/tarpkg-0-dir2.tar.gz \
|
||||
test-diff-pkg/tarpkg-0-report-0.txt
|
||||
test-diff-pkg/tarpkg-0-report-0.txt \
|
||||
test-diff-pkg/qemu-kvm-rhev-debuginfo-2.3.0-7.el7.ppc64.rpm \
|
||||
test-diff-pkg/qemu-kvm-rhev-debuginfo-2.3.0-20.el7.ppc64.rpm \
|
||||
test-diff-pkg/qemu-img-rhev-2.3.0-7.el7.ppc64.rpm \
|
||||
test-diff-pkg/qemu-img-rhev-2.3.0-20.el7.ppc64.rpm \
|
||||
test-diff-pkg/qemu-img-rhev-2.3.0-7.el7.ppc64--qemu-img-rhev-2.3.0-20.el7.ppc64-report-0.txt
|
||||
|
BIN
tests/data/test-diff-pkg/qemu-img-rhev-2.3.0-20.el7.ppc64.rpm
Normal file
BIN
tests/data/test-diff-pkg/qemu-img-rhev-2.3.0-20.el7.ppc64.rpm
Normal file
Binary file not shown.
BIN
tests/data/test-diff-pkg/qemu-img-rhev-2.3.0-7.el7.ppc64.rpm
Normal file
BIN
tests/data/test-diff-pkg/qemu-img-rhev-2.3.0-7.el7.ppc64.rpm
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -244,6 +244,16 @@ static InOutSpec in_out_specs[] =
|
||||
"data/test-diff-pkg/test-rpm-report-5.txt",
|
||||
"output/test-diff-pkg/test-rpm-report-5.txt"
|
||||
},
|
||||
{
|
||||
"data/test-diff-pkg/qemu-img-rhev-2.3.0-7.el7.ppc64.rpm",
|
||||
"data/test-diff-pkg/qemu-img-rhev-2.3.0-20.el7.ppc64.rpm",
|
||||
"--no-added-syms",
|
||||
"",
|
||||
"data/test-diff-pkg/qemu-kvm-rhev-debuginfo-2.3.0-7.el7.ppc64.rpm",
|
||||
"data/test-diff-pkg/qemu-kvm-rhev-debuginfo-2.3.0-20.el7.ppc64.rpm",
|
||||
"data/test-diff-pkg/qemu-img-rhev-2.3.0-7.el7.ppc64--qemu-img-rhev-2.3.0-20.el7.ppc64-report-0.txt",
|
||||
"output/test-diff-pkg/qemu-img-rhev-2.3.0-7.el7.ppc64--qemu-img-rhev-2.3.0-20.el7.ppc64-report-0.txt"
|
||||
},
|
||||
#endif //WITH_RPM
|
||||
|
||||
#ifdef WITH_DEB
|
||||
|
Loading…
Reference in New Issue
Block a user