Stephen Frost <sfrost@snowman.net> writes:
> Which seems to indicate that this actually is some kind of lcov bug.
> That makes more sense too since lcov is 1.13 on coverage.p.o, but you
> used 1.10 and said you didn't see an issue. Not sure if you have access
> to 1.13 easily, but if so, could be useful to see if you're seeing the
> same behavior under 1.13 where the gcov output is correct but lcov
> output isn't.
Hpmh. So I tested Fedora 26, which has lcov 1.12, and that seems fine.
Then I installed pre-release Fedora 28, which has lcov 1.13, and that
does not work at all:
$ make coverage-html
/usr/bin/lcov --gcov-tool /usr/bin/gcov -q --no-external -c -i -d . -d . -o lcov_base.info
geninfo: WARNING: /home/tgl/pgsql/src/backend/catalog/aclchk.gcno: Overlong record at end of file!
geninfo: WARNING: /home/tgl/pgsql/src/backend/catalog/pg_subscription.gcno: Overlong record at end of file!
geninfo: WARNING: /home/tgl/pgsql/src/backend/catalog/pg_db_role_setting.gcno: Overlong record at end of file!
... lots more ...
geninfo: WARNING: /home/tgl/pgsql/src/backend/storage/lmgr/predicate.gcno: Overlong record at end of file!
geninfo: ERROR: /home/tgl/pgsql/src/backend/storage/lmgr/lwlocknames.gcno: reached unexpected end of file
make: *** [src/Makefile.global:911: lcov_base.info] Error 255
make: *** Deleting file 'lcov_base.info'
Eyeing the commit history at
https://github.com/linux-test-project/lcov/commits/master
makes it appear that lcov doesn't work with gcc 8.0 yet
(well, they committed support last week, but there's no
release yet). So this is basically Fedora breakage ...
but it means I don't have an easy way to check 1.13 except
by installing handmade packages, which would probably
not be definitive proof one way or the other.
regards, tom lane