public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] libgcc: Add support for --disable-libgcov
@ 2018-05-25 13:06 Rasmus Villemoes
  2018-05-25 16:40 ` Joseph Myers
  0 siblings, 1 reply; 8+ messages in thread
From: Rasmus Villemoes @ 2018-05-25 13:06 UTC (permalink / raw)
  To: gcc-patches; +Cc: Rasmus Villemoes

When trying to build gcc 6.4.0 targeting VxWorks 5.5, I ran into libgcov
not building against the VxWorks system headers - there are multiple
issues such as

gcc-src/libgcc/../gcc/gcov-io.c:78:3: warning: implicit declaration of function 'getpid' [-Wimplicit-function-declaration]
   s_flock.l_pid = getpid ();
   ^

gcc-src/libgcc/libgcov.c:139:9: warning: implicit declaration of function 'access' [-Wimplicit-function-declaration]
         if (access (filename, F_OK) == -1
         ^
gcc-src/libgcc/libgcov.c:139:31: error: 'F_OK' undeclared (first use in this function)
         if (access (filename, F_OK) == -1
                               ^
Moreover, from the gcov documentation, it would seem to be cumbersome at
best to actually use it on VxWorks. So add an option for disabling build
and install of libgcov.

It would probably be most user-friendly if the resulting compiler would
reject --coverage and -fprofile-arcs, but I couldn't find an easy way to
do that.

2018-05-25  Rasmus Villemoes  <rasmus.villemoes@prevas.dk>

libgcc/
        * Makefile.in: Honour @enable_libgcov@
        * configure.ac: Add --disable-libgcov option
        * configure: Regenerate.
---
 libgcc/Makefile.in  | 8 +++++++-
 libgcc/configure.ac | 5 +++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index dd8cee99fd3..22acc15e236 100644
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -36,6 +36,7 @@ SHELL = @SHELL@
 
 cpu_type = @cpu_type@
 enable_shared = @enable_shared@
+enable_libgcov = @enable_libgcov@
 double_type_size = @double_type_size@
 long_double_type_size = @long_double_type_size@
 decimal_float = @decimal_float@
@@ -941,7 +942,10 @@ libgcc.a libgcov.a libunwind.a libgcc_eh.a:
 
 	$(RANLIB) $@
 
-all: libgcc.a libgcov.a
+all: libgcc.a
+ifeq ($(enable_libgcov),yes)
+all: libgcov.a
+endif
 
 ifneq ($(LIBUNWIND),)
 all: libunwind.a
@@ -1164,9 +1168,11 @@ install-leaf: $(install-shared) $(install-libunwind)
 	$(INSTALL_DATA) libgcc.a $(DESTDIR)$(inst_libdir)/
 	chmod 644 $(DESTDIR)$(inst_libdir)/libgcc.a
 	$(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc.a
+ifeq ($(enable_libgcov),yes)
 	$(INSTALL_DATA) libgcov.a $(DESTDIR)$(inst_libdir)/
 	chmod 644 $(DESTDIR)$(inst_libdir)/libgcov.a
 	$(RANLIB) $(DESTDIR)$(inst_libdir)/libgcov.a
+endif
 
 	parts="$(INSTALL_PARTS)";				\
 	for file in $$parts; do					\
diff --git a/libgcc/configure.ac b/libgcc/configure.ac
index b59aa746afc..a878c473f3d 100644
--- a/libgcc/configure.ac
+++ b/libgcc/configure.ac
@@ -68,6 +68,11 @@ AC_ARG_ENABLE(shared,
 ], [enable_shared=yes])
 AC_SUBST(enable_shared)
 
+AC_ARG_ENABLE(libgcov,
+[  --disable-libgcov       don't provide libgcov],
+[], [enable_libgcov=yes])
+AC_SUBST(enable_libgcov)
+
 AC_ARG_ENABLE(vtable-verify,
 [  --enable-vtable-verify    Enable vtable verification feature ],
 [case "$enableval" in
-- 
2.15.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-06-27 21:01 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-25 13:06 [PATCH] libgcc: Add support for --disable-libgcov Rasmus Villemoes
2018-05-25 16:40 ` Joseph Myers
2018-05-25 21:35   ` [PATCH v2] " Rasmus Villemoes
2018-06-01 12:11     ` Rasmus Villemoes
2018-06-11  7:26       ` [PATCH v3] add support for --disable-gcov Rasmus Villemoes
2018-06-12 21:18         ` Jeff Law
2018-06-27 19:23           ` Rainer Orth
2018-06-27 21:01             ` Rasmus Villemoes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).