[all-commits] [llvm/llvm-project] 7256c9: [JITLink][MachO] Add getOrCreateLocalMachOHeader u...

Lang Hames via All-commits all-commits at lists.llvm.org
Tue Jan 21 21:52:06 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7256c91ad29c1407320d5949414fd4736d1f2644
      https://github.com/llvm/llvm-project/commit/7256c91ad29c1407320d5949414fd4736d1f2644
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
    M llvm/include/llvm/ExecutionEngine/JITLink/MachO.h
    M llvm/lib/ExecutionEngine/JITLink/MachO.cpp

  Log Message:
  -----------
  [JITLink][MachO] Add getOrCreateLocalMachOHeader utility.

This function can be called on a LinkGraph to get an anonymous symbol pointing
to the start of a mach_header / mach_header_64 block with suitable cputype and
cpusubtype values for the LinkGraph, and with filetype = MachO::MH_OBJECT.

This functionality will be used in the upcoming compact-unwind support patch:
For graphs that do not have a suitable existing header to use (indicated by the
presence of a "__jitlink$libunwind_dso_base" symbol) the compact-unwind support
plugin will create a local header to use as the dso-base to report to
libunwind.


  Commit: 382bafc9579f40bd834b78df671ac45308310462
      https://github.com/llvm/llvm-project/commit/382bafc9579f40bd834b78df671ac45308310462
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/MachOPlatform.h
    M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp

  Log Message:
  -----------
  [ORC][MachO] Prepare MachOPlatform for compact-unwind support.

The MachOPlatform::MachOPlatformPlugin class will now inject a
"__jitlink$libunwind_dso_base" symbol into each LinkGraph pointing to the Mach
header for the containing JITDylib. The compact-unwind support plugin will use
this symbol as the dso-base for the __unwind_info sections. (Failure to inject
this symbol would result in the compact-unwind support plugin creating a new
header for every graph).


Compare: https://github.com/llvm/llvm-project/compare/527c030df8b1...382bafc9579f

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