From 526b2e8c5367ff0e9822496995e915ee7c90a634 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Wed, 5 Feb 2020 13:54:44 +0100 Subject: [PATCH] build: Ensure that gcov symbols are exposed when needed When coverage is enabled, we need to expose the __gcov_* symbols in the binaries and libraries or we won't get any coverage report for them. --- pam/pam_fprintd.ver | 1 + src/meson.build | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pam/pam_fprintd.ver b/pam/pam_fprintd.ver index a8d3722..e0c0181 100644 --- a/pam/pam_fprintd.ver +++ b/pam/pam_fprintd.ver @@ -1,6 +1,7 @@ { global: pam_*; + __gcov_*; local: *; }; diff --git a/src/meson.build b/src/meson.build index 4be29ff..3a36c48 100644 --- a/src/meson.build +++ b/src/meson.build @@ -53,6 +53,8 @@ fprintd_deps = declare_dependency( ], ) +symbol_visibility = get_option('b_coverage') ? 'default' : 'hidden' + libfprintd_private = static_library('fprintd-private', sources: [ 'device.c', @@ -62,7 +64,7 @@ libfprintd_private = static_library('fprintd-private', fprintd_marshal, ], dependencies: fprintd_deps, - gnu_symbol_visibility: 'hidden', + gnu_symbol_visibility: symbol_visibility, ) fprintd = executable('fprintd', @@ -75,7 +77,7 @@ fprintd = executable('fprintd', ], dependencies: fprintd_deps, link_with: libfprintd_private, - gnu_symbol_visibility: 'hidden', + gnu_symbol_visibility: symbol_visibility, install: true, install_dir: fprintd_installdir, )