<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/81477>81477</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Coverage with `GCOV_PREFIX` not working as expected
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          dothebart
      </td>
    </tr>
</table>

<pre>
    I've chosen a minimal project with cmake to demonstrate this.
My Host is a debian bookworm, however in ubuntu docker containers clang-16 has shown similar behaviour. 

The version of the compiler:
```
clang++-16 --version 
Debian clang version 16.0.6 (15~deb12u1)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
```
And its set up as the default compiler:
```
/usr/bin/c++ --version 
Debian clang version 16.0.6 (15~deb12u1)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
```
along with: 
```
/usr/bin/ld --version 
Debian LLD 16.0.6 (compatible with GNU linkers)
```

Now the instructions to generate a small c++ project within this environment:
```
git clone https://github.com/arangodb/velocypack
cd velocypack
mkdir build ; cd build
rm -rf * ; cmake .. -DCMAKE_CXX_FLAGS='-fprofile-instr-generate -fcoverage-mapping -mllvm -runtime-counter-relocation --coverage' -DCMAKE_C_FLAGS='-fprofile-instr-generate -fcoverage-mapping -mllvm -runtime-counter-relocation --coverage' -DCMAKE_LD_FLAGS='-fprofile-instr-generate -fcoverage-mapping -mllvm -runtime-counter-relocation --coverage'; make -j 32
export GCOV_PREFIX=/tmp/blub
./tools/fuzzer
export GCOV_PREFIX=/tmp/bluub
./tools/fuzzer
```
It seems that without `--coverage` in the arguments `strings` shows a binary containing `GCOV_PREFIX`, however, the functionality doesn't seem to be enabled, no profile is collected with the information specified above. 

And then try to merge the two profile sets demonstrates the error:
```
llvm-profdata-16 merge /tmp/blub /tmp/bluub -o /tmp/234
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Builder.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Builder.cpp.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/fpconv.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/fpconv.cpp.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Exception.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Exception.cpp.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/HexDump.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/HexDump.cpp.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Options.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Options.cpp.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Value.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Value.cpp.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Dumper.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Dumper.cpp.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/asm-utf8check.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/asm-utf8check.cpp.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Utf8Helper.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Utf8Helper.cpp.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/ValueType.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/ValueType.cpp.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/xxhash.c.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/xxhash.c.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Slice.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Slice.cpp.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Parser.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Parser.cpp.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/asm-functions.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/asm-functions.cpp.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Validator.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/CMakeFiles/velocypack.dir/src/Validator.cpp.gcda: truncated profile data
warning: /tmp/blub/tmp/velocypack/build/tools/CMakeFiles/fuzzer.dir/fuzzer.cpp.gcda: truncated profile data
warning: /tmp/bluub/tmp/velocypack/build/tools/CMakeFiles/fuzzer.dir/fuzzer.cpp.gcda: truncated profile data
error: no profile can be merged
```

I've seen https://github.com/llvm/llvm-project/issues/50966 but am not sure whether its related. 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUmUtv2zgQxz8NfRlIkGlHjg8-JHHVBps-sH2gt4AixxJrihT4sJ0e9rMvKNmN090-sNB2tUDgRCLF-c2fM8N4xJyTlUZckYtrcrGesOBrY1fC-BpLZv2kNOJhdUvoYofAa-NQA4NGatkwBa01n5B72EtfA2_YFsEbENgY7bxlHsHX0qUkW5Ps6uUDvDDOg3TAQGApmYbSmO3e2IbQG6jNHndoQWoIZdA-gDB8ixa40Z5JjdYBV0xXyTSHmjlwtdlrcLKRilkosWY7aYJNobfXf76rEXZonTQazAZ8jcBN00qFlsyOc0ieHX-6y84IodeEXkdTSXJ6vh9e9-jdrC9LT_M0S3Mg9HJ68YfAckrDlNDlkYHZCj2ZXcHhMr_P50nLEyV1OCSVDidMi0xAYwSqOLE1Th76oVvtPFMKxVpGZCC0CM4SWpRS_y3_lRYgvQOHHkILzHVeC9ywoPwPvX-yPC14L8T_TwWmjK66yOym_4SrSnzLy7u79ZlvUUHmZamwD_znr96DknqL1n1x9mtL3ecrs--2QsbsCNxLo11MmAo1dtnCwDVMKTiJfp5fUnfJBKh30hrdoPbf2sJKeuDKaITa-9bFabQgtKikr0OZctMQWjDLdGVESWixQ2X4Q8v49pgAAr6-1WyFtFAGqQSQ2TVw0V_0o7aBxG6A0Kt-sKsEaQrJ-ubl1W_P7m8-frwv7q6evyWzNaGLZNNas5EKk06J5Iv_yYabHVpWYdKwtpW6gqRRaheXD9rLBhNugvZoExsBWZQQkuT0FKGLR5u_3OLd-leZjCJ3GiefYEb7PcBDa6yH5zevP9y_-f1Zcfux4yh808YIV6Hs56XxnjHKEVpswufPaH_y-R8t8FUQ3npwiE0sPqyPYBM8kDw78yTPoAtrBGarEEPaxRnOW6krF4djjY_nRSk1sw-noyBqRvLsnDXPzs6Q-GdcdRN0l2VMSf8AwqDThC56sJh4JQJqVioU8Qlt4Lhl8YziRinkHkWf5H3eboxt-v1wLXK5kSiAlWaHTw-dWIF9jRq8fYh2GrQVdkv4_aMRh96dH5Z9nUZrzTeLcwyTJD4vmGfxcOpXfrLN8HTTIDGPd-hs3i-0ZzaqeKykZzFyujgrALToU50WNy_ZFgup0D2ZkQoZq6iznNDiOs5Fm_K2TSsuWDThbdCcRS1Pvkf-75KMCGUAkk3Ljd6NQZNhSAYAeXbg2MZUGoMqg8EMwPICD-vQtGOQZSCUAUhed7vjxiDKQCgDkHxgKuAYJBkEZACOGKzjOHqGIRkAhLkmCX5zyWvk2zEoMyjQADzv_ebyBaqRxM1wNEOl9buHdjw1ZgiYAVgOh5q5OuX_tSZDcAyA8VZJPooYGQRkAI43zLpx1JNhSAYq-6ev46P4N25QoGHqmxTMm1GEzWAwP2A59ZGeMPVNpSPP8eJf1mRwjlMX57ypxJmGEvuWjfhOm_j4tsUh6u81cJXanX4lx0YxoYV0LnT0F9kyz6EMHlgD2nhwwSLsa_Q12u79gEUV6VOYiNVMLGdLNsHVdJEtFvP5YrmY1KspohBCZOVyzjmWbLqky2WeTzFf5pe5WEzkimZ0ntEpnc5ms-wyvZjmjIpFNs0ypAu8IPMMGyZVGjFTY6tJB7i6nM4Xi4liJSrXvXuiVOMeukFCKblYT-yqc60MlSPzTEnn3eMqXnqFq5tjI7Fv0f2lI9i5vTd2K3UFzAEe2q6jNwlWrf65sh37nwEAAP__1XUQBQ">