HomePhabricator

[gcov] Support big-endian .gcno and simplify version handling in .gcda

Authored by MaskRay on Jun 6 2020, 11:01 AM.

Description

[gcov] Support big-endian .gcno and simplify version handling in .gcda

Details

Committed
MaskRayJun 6 2020, 11:01 AM
Parents
rG515bfc66eace: [SystemZ] Implement -fstack-clash-protection
Branches
Unknown
Tags
Unknown

Event Timeline

MaskRay added a comment.EditedMar 12 2021, 11:10 AM

This broke GCOV support with LLVM in the Linux kernel. Going to second @sylvestre.ledru 's point about getting code reviewed. Same for https://reviews.llvm.org/rG13a633b438b6500ecad9e4f936ebadf3411d0f44.

Details? I think gcov support (instrumentation, libclang_rt.profile-, llvm-cov gcov) was actually broken on big-endian platforms before my fixes.
The format was not compatible with GCC as well.

See bfce849d831a6bc89e1c9c56e829d46aab127598 when I eventually was able to delete all the UNSUPPORTED:.

I think gcov support (instrumentation, libclang_rt.profile-, llvm-cov gcov) was actually broken on big-endian platforms before my fixes.

Likely, but it regressed little endian support for out of tree coverage users that don't or can't use compiler-rt; see b/182501993 for details.