From 5e122f145f3f7358c7fbdf60f1872cf065dc0200 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Sat, 1 Oct 2022 11:45:24 -0400 Subject: [PATCH] Ignore things from std:: in the ABI --- check_abi | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/check_abi b/check_abi index 8267aaa3..b2abe406 100755 --- a/check_abi +++ b/check_abi @@ -88,7 +88,14 @@ class Main: m = re.match(r'^[0-9a-f]+ (.) (.+)@@LIBQPDF_\d+\s*$', line) if not m: continue - symbols.add(m.group(2)) + symbol = m.group(2) + if re.match(r'^((void|int|bool|(.*? for)) )?std::', symbol): + # Calling different methods of STL classes causes + # different template instantiations to appear. + # Standard library methods that sneak into the binary + # interface are not considered part of the qpdf ABI. + continue + symbols.add(symbol) return symbols def dump(self, options):