From 31557e9c770d9da7199a64f40f17f50a6686bcb1 Mon Sep 17 00:00:00 2001 From: "Kelvin M. Klann" Date: Thu, 3 Jun 2021 18:26:31 -0300 Subject: gcov: add missing gcov.h includes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes the following "implicit declaration" warning (13 occurrences in total) when building with gcov support: $ pacman -Q gcc10 gcc10 1:10.2.0-3 $ CC=gcc-10 && export CC $ ./configure --prefix=/usr --enable-apparmor --enable-gcov >/dev/null $ make >/dev/null appimage.c: In function ‘appimage_set’: appimage.c:140:2: warning: implicit declaration of function ‘__gcov_flush’ [-Wimplicit-function-declaration] 140 | __gcov_flush(); | ^~~~~~~~~~~~ interface.c: In function ‘print_sandbox’: interface.c:149:3: warning: implicit declaration of function ‘__gcov_flush’ [-Wimplicit-function-declaration] 149 | __gcov_flush(); | ^~~~~~~~~~~~ netstats.c: In function ‘netstats’: netstats.c:246:4: warning: implicit declaration of function ‘__gcov_flush’ [-Wimplicit-function-declaration] 246 | __gcov_flush(); | ^~~~~~~~~~~~ [...] Note: The commands above were executed from makepkg, while building firejail-git from the AUR. Note2: gcc-10 was used because the build fails with the current gcc version (11.1.0) on Artix Linux. The failure happens because __gcov_flush was removed on gcc 11.1.0[1]; this will be addressed later. Note3: The following command helped find the affected files: $ git grep -Fl __gcov -- src [1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=811b7636cb8c10f1a550a76242b5666c7ae36da2 --- src/firejail/appimage.c | 4 ++++ src/firejail/chroot.c | 3 +++ src/firejail/fs.c | 4 ++++ src/firejail/fs_mkdir.c | 3 +++ src/firejail/ls.c | 4 ++++ src/firejail/main.c | 4 ++++ src/firejail/profile.c | 5 +++++ src/firejail/rlimit.c | 4 ++++ src/firejail/sandbox.c | 3 +++ src/firejail/util.c | 4 ++++ src/firemon/interface.c | 4 ++++ src/firemon/netstats.c | 4 ++++ src/firemon/procevent.c | 4 ++++ src/firemon/top.c | 4 ++++ 14 files changed, 54 insertions(+) diff --git a/src/firejail/appimage.c b/src/firejail/appimage.c index d194eeafb..17e59d2ef 100644 --- a/src/firejail/appimage.c +++ b/src/firejail/appimage.c @@ -28,6 +28,10 @@ #include #include +#ifdef HAVE_GCOV +#include +#endif + static char *devloop = NULL; // device file static long unsigned size = 0; // offset into appimage file #define MAXBUF 4096 diff --git a/src/firejail/chroot.c b/src/firejail/chroot.c index 05d89a866..edc31cdea 100644 --- a/src/firejail/chroot.c +++ b/src/firejail/chroot.c @@ -29,6 +29,9 @@ #define O_PATH 010000000 #endif +#ifdef HAVE_GCOV +#include +#endif // exit if error void fs_check_chroot_dir(void) { diff --git a/src/firejail/fs.c b/src/firejail/fs.c index bf78f8a17..e57038ee0 100644 --- a/src/firejail/fs.c +++ b/src/firejail/fs.c @@ -33,6 +33,10 @@ #define O_PATH 010000000 #endif +#ifdef HAVE_GCOV +#include +#endif + #define MAX_BUF 4096 #define EMPTY_STRING ("") // check noblacklist statements not matched by a proper blacklist in disable-*.inc files diff --git a/src/firejail/fs_mkdir.c b/src/firejail/fs_mkdir.c index 8cfeea582..bbc2aa938 100644 --- a/src/firejail/fs_mkdir.c +++ b/src/firejail/fs_mkdir.c @@ -25,6 +25,9 @@ #include #include +#ifdef HAVE_GCOV +#include +#endif static void check(const char *fname) { // manufacture /run/user directory diff --git a/src/firejail/ls.c b/src/firejail/ls.c index 796c42290..6ee557648 100644 --- a/src/firejail/ls.c +++ b/src/firejail/ls.c @@ -31,6 +31,10 @@ //#include //#include +#ifdef HAVE_GCOV +#include +#endif + // uid/gid cache static uid_t c_uid = 0; static char *c_uid_name = NULL; diff --git a/src/firejail/main.c b/src/firejail/main.c index c6dda268d..02366a08c 100644 --- a/src/firejail/main.c +++ b/src/firejail/main.c @@ -44,6 +44,10 @@ #define O_PATH 010000000 #endif +#ifdef HAVE_GCOV +#include +#endif + #ifdef __ia64__ /* clone(2) has a different interface on ia64, as it needs to know the size of the stack */ diff --git a/src/firejail/profile.c b/src/firejail/profile.c index 40e4f788e..807a77bd7 100644 --- a/src/firejail/profile.c +++ b/src/firejail/profile.c @@ -22,6 +22,11 @@ #include "../include/syscall.h" #include #include + +#ifdef HAVE_GCOV +#include +#endif + extern char *xephyr_screen; #define MAX_READ 8192 // line buffer for profile files diff --git a/src/firejail/rlimit.c b/src/firejail/rlimit.c index 78f00bc63..dd6fec972 100644 --- a/src/firejail/rlimit.c +++ b/src/firejail/rlimit.c @@ -21,6 +21,10 @@ #include #include +#ifdef HAVE_GCOV +#include +#endif + void set_rlimits(void) { EUID_ASSERT(); // resource limits diff --git a/src/firejail/sandbox.c b/src/firejail/sandbox.c index a6bcec02c..e06ba3617 100644 --- a/src/firejail/sandbox.c +++ b/src/firejail/sandbox.c @@ -49,6 +49,9 @@ #include #endif +#ifdef HAVE_GCOV +#include +#endif static int force_nonewprivs = 0; diff --git a/src/firejail/util.c b/src/firejail/util.c index edd08bb41..47c367aad 100644 --- a/src/firejail/util.c +++ b/src/firejail/util.c @@ -41,6 +41,10 @@ #include #endif +#ifdef HAVE_GCOV +#include +#endif + #define MAX_GROUPS 1024 #define MAXBUF 4098 #define EMPTY_STRING ("") diff --git a/src/firemon/interface.c b/src/firemon/interface.c index e04b6f431..b93d4a5a2 100644 --- a/src/firemon/interface.c +++ b/src/firemon/interface.c @@ -33,6 +33,10 @@ //#include //#include +#ifdef HAVE_GCOV +#include +#endif + // print IP addresses for all interfaces static void net_ifprint(void) { uint32_t ip; diff --git a/src/firemon/netstats.c b/src/firemon/netstats.c index 850959eb3..23d228e26 100644 --- a/src/firemon/netstats.c +++ b/src/firemon/netstats.c @@ -24,6 +24,10 @@ #include #include +#ifdef HAVE_GCOV +#include +#endif + #define MAXBUF 4096 // ip -s link: device stats diff --git a/src/firemon/procevent.c b/src/firemon/procevent.c index 8085d2d29..4e809681e 100644 --- a/src/firemon/procevent.c +++ b/src/firemon/procevent.c @@ -30,6 +30,10 @@ #include #include +#ifdef HAVE_GCOV +#include +#endif + #define PIDS_BUFLEN 4096 #define SERVER_PORT 889 // 889-899 is left unassigned by IANA diff --git a/src/firemon/top.c b/src/firemon/top.c index a25e3c0d8..9d6f34991 100644 --- a/src/firemon/top.c +++ b/src/firemon/top.c @@ -24,6 +24,10 @@ #include #include +#ifdef HAVE_GCOV +#include +#endif + static unsigned pgs_rss = 0; static unsigned pgs_shared = 0; static unsigned clocktick = 0; -- cgit v1.2.3-54-g00ecf