[ccache] [PATCH] Add support for coverage (compiling for gcov)

Joel Rosdahl joel at rosdahl.net
Sun Apr 19 05:39:21 MDT 2015


Applied on 3.2-maint, thanks!

-- Joel

On 31 March 2015 at 22:16, Anders Björklund <anders at itension.se> wrote:

>
> >> (Sorry about the very delayed answer.)
> >
> >No problem!
> >
> >> The patch looks good! I plan to only apply fixes to serious bugs on
> 3.1-maint, so I'll focus on the 3.2-maint version.
> >
> >That it is OK, we can backport to 3.1 downstream if needed. Will focus on
> "master" (and 3.2).
>
> Here is a delayed update, with updated versions for 3.1-maint and
> 3.2-maint:
>
> https://github.com/itension/ccache/compare/3.1-maint...coverage-3.1-maint
> https://github.com/itension/ccache/compare/3.2-maint...coverage-3.2-maint
>
> After this change, it should be able to return cache hits for --coverage
> as well.
>
> >> 1. I get this test suite failure with GCC >= 4.7:
> >> No failure with GCC <= 4.6.
> >>
> >> I guess that the "coverage (empty)" test should check that the two runs
> either both produce no test.gcno files or both produce identical test.gcno
> files?
> >
> >Right, I will need to look into this issue with a newer compiler and get
> back to you.
> >
> >There's also some issues with absolute/relative paths and cache hits from
> when using a base directory...
>
> Turns out that it doesn't really matter if the file is empty, or just
> small (12 bytes).
> As long as the code handles the "missing" case for older compilers, it'll
> be fine...
>
> Also found the issue with lcov and relative paths (with basedir) and the
> cache hits.
> It needs to record the full input file path for coverage, and not make it
> relative...
>
> >> 2. You wrote "Please include these in ccache, under GNU General Public
> License v3". Just to clarify: Do you agree to use the same license as the
> rest of ccache does, which is "GPLv3 or any later version"?
> >
> >Yes, I meant to use the same license as the rest of the ccache software.
> So: GPLv3+ ("or any later version") it is.
>
> To be perfectly clear:
>   This program is free software; you can redistribute it and/or modify it
> under
>   the terms of the GNU General Public License as published by the Free
> Software
>   Foundation; either version 3 of the License, or (at your option) any
> later
>   version.
>
>   This program is distributed in the hope that it will be useful, but
> WITHOUT ANY
>   WARRANTY; without even the implied warranty of MERCHANTABILITY or
> FITNESS FOR A
>   PARTICULAR PURPOSE. See the GNU General Public License for more details.
>
> Thankful for any feedback on the actual code itself, or any other
> considerations.
>
> /Anders
>
>


More information about the ccache mailing list