[all-commits] [llvm/llvm-project] 765d4c: [lldb] [ObjectFileMachO] LLVM_COV is not mapped in...

Jason Molenda via All-commits all-commits at lists.llvm.org
Mon Mar 25 15:00:57 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 765d4c402fe2ff614a15a762bb7cefe7289663b4
      https://github.com/llvm/llvm-project/commit/765d4c402fe2ff614a15a762bb7cefe7289663b4
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-03-25 (Mon, 25 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h

  Log Message:
  -----------
  [lldb] [ObjectFileMachO] LLVM_COV is not mapped into firmware memory (#86359)

It is possible to gather code coverage in a firmware environment, where
the __LLVM_COV segment will not be mapped in memory but does exist in
the binary, see

https://llvm.org/devmtg/2020-09/slides/PhippsAlan_EmbeddedCodeCoverage_LLVM_Conf_Talk_final.pdf

The __LLVM_COV segment in the binary happens to be at the same address
as the __DATA segment, so if lldb treats this segment as loaded, it
shadows the __DATA segment and address->symbol resolution can fail.

For these non-userland code cases, we need to mark __LLVM_COV as not a
loadable segment.

rdar://124475661



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list