mirror of
git://sourceware.org/git/libabigail.git
synced 2025-03-05 22:27:34 +00:00
If multiple KMI whitelists are specified, either by passing --kmi-whitelist several times or by having multiple whitelist sections in the whitelist files, the generated suppressions are created as an intersection of symbols. That is rather unusual, as whitelisting should rather work additive. That means that the symbols (or expressions thereof) defined across several sections or files shall be considered a union of symbols. This patch combines the whitelist parsing to create exactly one function_suppression and one variable suppression. A test case has been added to ensure the functionality is working. Please note, migrating the existing code to this new functionality is done in a separate commit. * include/abg-tools-utils.h (gen_suppr_spec_from_kernel_abi_whitelists): New function. * src/abg-tools-utils.cc (gen_suppr_spec_from_kernel_abi_whitelists): Likewise. * tests/.gitignore: Ignore new test executable. * tests/Makefile.am: Add new test executable. * tests/data/test-kmi-whitelist/whitelist-with-another-single-entry: New test input file. * tests/data/test-kmi-whitelist/whitelist-with-duplicate-entry: Likewise. * tests/data/test-kmi-whitelist/whitelist-with-single-entry: Likewise. * tests/data/test-kmi-whitelist/whitelist-with-two-sections: Likewise. * tests/data/Makefile.am: Add above test material. * tests/test-kmi-whitelist.cc: Add new test executable. Reviewed-by: Dodji Seketeli <dodji@seketeli.org> Signed-off-by: Matthias Maennich <maennich@google.com> |
||
---|---|---|
.. | ||
whitelist-with-another-single-entry | ||
whitelist-with-duplicate-entry | ||
whitelist-with-single-entry | ||
whitelist-with-two-sections |