[all-commits] [llvm/llvm-project] c3f015: [MachO] Disable atexit()-based lowering when LTO'i...

Julian Lettner via All-commits all-commits at lists.llvm.org
Tue Apr 25 12:13:56 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c3f0153ec27a5e2cff97179d319ab99651c4c539
  Author: Julian Lettner <julian.lettner at apple.com>
  Date:   2023-04-25 (Tue, 25 Apr 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/test/Driver/darwin-ld-lto.c
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/test/CodeGen/ARM/ctors_dtors.ll

  Log Message:
  [MachO] Disable atexit()-based lowering when LTO'ing kernel/kext code

The kernel and kext environments do not provide the `__cxa_atexit()`
function, so we can't use it for lowering global module destructors.

Unfortunately, just querying for "compiling for kernel/kext?" in the LTO
pipeline isn't possible (kernel/kext identifier isn't part of the triple
yet) so we need to pass down a CodeGen flag.


Differential Revision: https://reviews.llvm.org/D148967

More information about the All-commits mailing list