While running readelf --debug-dump=decodedline on some of the binaries generated by our build I have noticed that the CU lines contain invalid pathnames. Apparently sometimes file field is filled with absolute path, so that prefixing it with directory is not needed.
Reproducing is extremely easy:
$ cd /usr/src $ make buildworld $ find /usr/obj -name \*.full | xargs readelf --debug-dump=decodedline | grep ^CU: | grep '//' CU: /usr/obj/usr/src/tmp/usr/src/kerberos5/tools/asn1_compile//usr/src/crypto/heimdal/lib/asn1/gen.c CU: /usr/obj/usr/src/tmp/usr/src/kerberos5/tools/asn1_compile//usr/src/crypto/heimdal/lib/asn1/gen_copy.c CU: /usr/obj/usr/src/tmp/usr/src/kerberos5/tools/asn1_compile//usr/src/crypto/heimdal/lib/asn1/gen_decode.c
After the suggested fix has been applied output becomes correct:
CU: /usr/src/crypto/heimdal/lib/asn1/gen.c CU: /usr/src/crypto/heimdal/lib/asn1/gen_copy.c CU: /usr/src/crypto/heimdal/lib/asn1/gen_decode.c