[PATCH] D157913: [Coverage] Allow Clang coverage to be used with debug info correlation.

Ellis Hoag via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 19 11:04:28 PDT 2023


ellis added a comment.

In D157913#4648296 <https://reviews.llvm.org/D157913#4648296>, @zequanwu wrote:

> For some unknown reasons, linker still generates __llvm_prf_names section in the final binary on mac even if the object file doesn't have this section. And I cannot use llvm-objdump to get anything from that section.
>
>   $ llvm-readelf -S ../tmp/a.out
>   ...
>     Section {
>       Index: 15
>       Name: __llvm_prf_names (5F 5F 6C 6C 76 6D 5F 70 72 66 5F 6E 61 6D 65 73)
>       Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00)
>       Address: 0x100018000
>       Size: 0x0
>       Offset: 98304
>       Alignment: 0
>       RelocationOffset: 0x0
>       RelocationCount: 0
>       Type: Regular (0x0)
>       Attributes [ (0x0)
>       ]
>       Reserved1: 0x0
>       Reserved2: 0x0
>       Reserved3: 0x0
>     }
>   ...
>   $ llvm-objdump --section=__llvm_prf_names --full-contents ../tmp/a.out
>   ../tmp/a.out:	file format mach-o arm64
>
> I will delete the test for now as it's not working on mac: `compiler-rt/test/profile/Darwin/coverage-debug-info-correlate.cpp`

I have seen that MachO sections remain in the header even if the size is zero which seems to be the case here. You could use `llvm-objdump` to verify that the section exists but the size is zero.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D157913/new/

https://reviews.llvm.org/D157913



More information about the cfe-commits mailing list