libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: .gcno files removed from .libs directory


From: Ralf Wildenhues
Subject: Re: .gcno files removed from .libs directory
Date: Tue, 2 Sep 2008 07:52:45 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

Hello,

>> * Vincent Torri wrote on Fri, Aug 29, 2008 at 05:38:59PM CEST:
>>>
>>> I'm compiling two libraries with the options -fprofile-arcs
>>> -ftest-coverage passed to gcc.
>>>
>>> The first one has .gcno files in his directory and the .libs sub
>>> directory. The second one has .gcno files in his directory but not in the
>>> .libs subdir. I paste below the Makefile.am of eash lib:

>>> there is a difference in the creation of the libs.
>>>
>>> libtool explicitely removes the .gcno files in the 2nd case:
>>>
>>> libtool: link: rm -fr  .libs/eina_chained_mempool.gcno

Confirmed.  The patch below should fix it.  It still needs a test.

As a workaround, you could let none of your objects have the same name
(minus extension) as your library.

Cheers,
Ralf

  Do not remove .gcno files when linking.
  * libltdl/config/ltmain.m4sh (func_mode_link): When removing
  potential output files before linking, do not remove *.gcno
  profile information GCC outputs next to object files in `.libs'.
  Report by Vincent Torri.

diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index 7e319c9..814cc93 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -5963,7 +5963,7 @@ func_mode_link ()
        tempremovelist=`$ECHO "$output_objdir/*"`
        for p in $tempremovelist; do
          case $p in
-           *.$objext)
+           *.$objext | *.gcno)
               ;;
            $output_objdir/$outputname | $output_objdir/$libname.* | 
$output_objdir/${libname}${release}.*)
               if test "X$precious_files_regex" != "X"; then




reply via email to

[Prev in Thread] Current Thread [Next in Thread]