[all-commits] [llvm/llvm-project] fa089e: [orc][mach-o] Unlock the JITDylib state mutex duri...

Ben Langmuir via All-commits all-commits at lists.llvm.org
Fri Aug 23 10:32:36 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fa089efa6c70f4da8618f2f41ee9c7db86e2b0e0
      https://github.com/llvm/llvm-project/commit/fa089efa6c70f4da8618f2f41ee9c7db86e2b0e0
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M compiler-rt/lib/orc/macho_platform.cpp

  Log Message:
  -----------
  [orc][mach-o] Unlock the JITDylib state mutex during +load (#105333)

Similar to what was already done for static initializers, we need to
unlock the state mutext when calling out to libobjc to run +load methods
in case they cause us to reenter the runtime, which was previously
deadlocking. No test for now, because we don't have any code paths in
llvm-jitlink itself that could lead to this deadlock. If we interpose
calls to dlopen to go back to the JIT in the future then calling dlopen
from a +load is the easiest way to reproduce this.

rdar://133430490



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