summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Escalante Urrelo <diegoe@gnome.org>2019-10-31 07:01:11 -0500
committerDaniel Playfair Cal <daniel.playfair.cal@gmail.com>2019-11-05 18:31:19 +1100
commit4723747667cef384c8da48da9546d430b5a69de3 (patch)
tree1b2c3a4653a2ab6390554a6ba62927ef83986259
parenteafa407e198fc70cebe2c48a8afa2fe73bb83fe5 (diff)
downloaddconf-4723747667cef384c8da48da9546d430b5a69de3.tar.gz
gsettings: Update abicheck.sh script
gcc-9 is including `mangle_path` in the symbols of gsettings/libdconfsettings.so when building with support for gcov (--coverage). This means that our ignored symbols had to be updated. Update abicheck.sh so the test suite passes again. Also include a comment to explain the above and how the test works. Fixes: https://gitlab.gnome.org/GNOME/dconf/issues/60
-rwxr-xr-xgsettings/abicheck.sh24
1 files changed, 23 insertions, 1 deletions
diff --git a/gsettings/abicheck.sh b/gsettings/abicheck.sh
index c8b072b..1dca6ea 100755
--- a/gsettings/abicheck.sh
+++ b/gsettings/abicheck.sh
@@ -1,4 +1,26 @@
#!/bin/sh
+# The following checks that gsettings/libdconfsettings.so only has
+# dconf_* symbols.
+#
+# We also make sure to ignore gcov symbols included when building with
+# --coverage, which usually means the following:
+#
+# __gcov_error_file
+# __gcov_master
+# __gcov_sort_n_vals
+# __gcov_var
+#
+# And starting with gcc-9, also this one:
+#
+# mangle_path
+
${NM:-nm} --dynamic --defined-only $GSETTINGS_LIB > public-abi
-test "`cat public-abi | cut -f 3 -d ' ' | grep -v ^_ | grep -v ^g_io_module | wc -l`" -eq 0 && rm public-abi
+
+test "`\
+ cat public-abi | \
+ cut -f 3 -d ' ' | \
+ grep -v ^_ | \
+ grep -v ^mangle_path | \
+ grep -v ^g_io_module | \
+ wc -l`" -eq 0 && rm public-abi