[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug-inetutils] Re: gcov/lcov problems
From: |
Simon Josefsson |
Subject: |
[bug-inetutils] Re: gcov/lcov problems |
Date: |
Mon, 01 Nov 2010 09:02:49 +0100 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/23.2 (gnu/linux) |
address@hidden (Alfred M. Szmidt) writes:
> > Was trying to have some fun and get `make coverage' working, but I'm
> > hitting some werido problems that I don't understand. Does anyone
> > know why this happens, and how to fix it?
> >
> > Processing src/tftp.gcda
> > Processing src/tftp.gcda
> > <built-in>:cannot open source file
> > geninfo: ERROR: cannot read <built-in>.gcov!
>
> I've seen this too for other projects, and it is generally some
> confusion about which directory to search for the *.gcda file. If
> you strace lcov you will see that it is searching for the file at
> the wrong place. Sometimes I create symlinks to work around this
> (the output seems OK) if I really want to get the output, but it
> would be great if this was tracked down and fixed properly.
>
> Hm. That is not at all what I'm seeing:
>
> | write(1, "TN:\n", 4TN:
> | ) = 4
> | open("built-in>.gcov", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or
> directory)
> | write(2, "geninfo: ERROR: cannot read <bui"..., 45geninfo: ERROR: cannot
> read <built-in>.gcov!
> | ) = 45
>
> It is trying to open "built-in>.gcov" which of course doesn't exist,
> while it should try to open "<built-in>.gov", and just print a warning
> since "<built-in>" cannot be found. The code in lcov that causes this is
> from geninfo:
>
> | sub read_gcov_header($)
> | {
> | my $source;
> | my $object;
> | local *INPUT;
> |
> | if (!open(INPUT, $_[0]))
> | {
> | if ($ignore_errors[$ERROR_GCOV])
> | {
> | warn("WARNING: cannot read $_[0]!\n");
> | return (undef,undef);
> | }
> | die("ERROR: cannot read $_[0]!\n");
> | }
>
> Why it is trying to open "built-in>.gcov" is a complete and utter
> mystery to me... Anyone know of any perl to be able to fix this?
Hm. Maybe gcov/lcov needs to be teached about <built-in>? It may be
that gcov prints that for built-in symbols. Lcov shouldn't try to open
a file to get info about it. But I'm not certain, and reporting it to
lcov seems like the right thing.
/Simon
- [bug-inetutils] Re: gcov/lcov problems,
Simon Josefsson <=