[gcov] Make .gcno/.gcda paths absolute
authorFangrui Song <i@maskray.me>
Thu, 18 May 2023 07:27:10 +0000 (00:27 -0700)
committerFangrui Song <i@maskray.me>
Thu, 18 May 2023 07:27:10 +0000 (00:27 -0700)
commitf0303bd67d32b41d6502d2ff5fa825a9d21acf96
tree641166cb70ba47e537f591b1c2bff73ae1dbae56
parente06dac07a12c997464de11cf6783a7f3269bc8b4
[gcov] Make .gcno/.gcda paths absolute

This restores 737a452173a67f88d111f27b688bf3696c260db9 (2013) which was removed
by my a07b135ce0c0111bd83450b5dc29ef0381cdbc39.
This behavior turns out to be depended on by `bazel coverage`.

Add a `PWD=/proc/self/cwd %clang -### -c --coverage %s -o foo/bar.o` test.
clang/lib/Driver/ToolChains/Clang.cpp
clang/test/Driver/coverage.c
clang/test/Driver/working-directory.c