diff options
author | Diego Escalante Urrelo <diegoe@gnome.org> | 2019-10-31 07:01:11 -0500 |
---|---|---|
committer | Daniel Playfair Cal <daniel.playfair.cal@gmail.com> | 2019-11-05 18:31:19 +1100 |
commit | 4723747667cef384c8da48da9546d430b5a69de3 (patch) | |
tree | 1b2c3a4653a2ab6390554a6ba62927ef83986259 | |
parent | eafa407e198fc70cebe2c48a8afa2fe73bb83fe5 (diff) | |
download | dconf-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-x | gsettings/abicheck.sh | 24 |
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 |