Bug 29977 - dwarf-reader: Fix canonical DIE propagation canceling
When canceling canonical DIE propagation, we wrongly assume that the
pair of DIEs being compared yield a COMPARE_RESULT_UNKNOWN result.
The reality is that it can also yield a COMPARE_RESULT_DIFFERENT
result, especially when we are looking at the first sub-type that
compares different and that triggered the canonical DIE propagation
canceling to begin with.
This can be reproduced by the command:
$ fedabipkgdiff --self-compare -a --from fc37 xorg-x11-server-Xvfb
Fixed thus.
* src/abg-dwarf-reader.cc
(offset_pairs_stack_type::cancel_canonical_propagated_type): The
result of comparing the canonical-propagated types being canceled
is either COMPARISON_RESULT_UNKNOWN or
COMPARISON_RESULT_DIFFERENT. Also, do not forget to update the
cached value for the comparison of the depend types too.
Signed-off-by: Dodji Seketeli <dodji@redhat.com>