History log of /llvm-project/llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h (Results 1 – 11 of 11)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7
# febe1a9d 03-Jan-2025 Lang Hames <lhames@gmail.com>

[ORC] Use structured binding to improve readability. NFC.


Revision tags: llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1
# e77a4736 05-Mar-2024 Lang Hames <lhames@Langs-MacBook-Pro.local>

[ORC][MachO] Simplify use of LC_BUILD_VERSION in JITDylib headers.

API clients can now set a MachO::HeaderOptions::BuildVersionOpts field to have
MachOPlatform add an LC_BUILD_VERSION load command t

[ORC][MachO] Simplify use of LC_BUILD_VERSION in JITDylib headers.

API clients can now set a MachO::HeaderOptions::BuildVersionOpts field to have
MachOPlatform add an LC_BUILD_VERSION load command to the Mach header for each
JITDylib.

No testcase yet. In the future we'll try to add a MachO parser to the ORC
runtime and extra test options to llvm-jitlink for this.

This commit also incidentally fixes a bug in the MachOBuilder class that lead to
a delegation cycle.

show more ...


Revision tags: llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1
# 452a2c6e 24-Jan-2024 Alexandre Ganea <alex_toresh@yahoo.fr>

[llvm] Silence warning when compiling with MSVC targetting x86

This fixes:
```
[1614/6998] Building CXX object lib\ExecutionEngine\Orc\CMakeFiles\LLVMOrcJIT.dir\MachOPlatform.cpp.obj
C:\git\llvm-pro

[llvm] Silence warning when compiling with MSVC targetting x86

This fixes:
```
[1614/6998] Building CXX object lib\ExecutionEngine\Orc\CMakeFiles\LLVMOrcJIT.dir\MachOPlatform.cpp.obj
C:\git\llvm-project\llvm\include\llvm/ExecutionEngine/Orc/MachOBuilder.h(367): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
```

show more ...


Revision tags: llvmorg-19-init
# b08aca7a 12-Jan-2024 Ben Langmuir <blangmuir@apple.com>

[ORC][MachO] Support common load commands in the platform's mach-o header builder

Add a HeaderOptions struct that can be used to configure commonly-used
load commands LC_ID_DYLIB, LC_LOAD_DYLIB, and

[ORC][MachO] Support common load commands in the platform's mach-o header builder

Add a HeaderOptions struct that can be used to configure commonly-used
load commands LC_ID_DYLIB, LC_LOAD_DYLIB, and LC_RPATH when setupDylib
creates a mach-o header.

show more ...


# ab244b64 12-Jan-2024 Lang Hames <lhames@gmail.com>

[ORC] Specialize MachOBuilder support for the LC_ID_DYLIB command.

Provides a natural API for adding LC_ID_DYLIB commands, including the arbitrary
install name.


Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3
# 4a0ccfa8 13-Oct-2023 Kazu Hirata <kazu@google.com>

Use llvm::endianness::{big,little,native} (NFC)

Note that llvm::support::endianness has been renamed to
llvm::endianness while becoming an enum class as opposed to an
enum. This patch replaces suppo

Use llvm::endianness::{big,little,native} (NFC)

Note that llvm::support::endianness has been renamed to
llvm::endianness while becoming an enum class as opposed to an
enum. This patch replaces support::{big,little,native} with
llvm::endianness::{big,little,native}.

show more ...


# a9d50568 11-Oct-2023 Kazu Hirata <kazu@google.com>

Use llvm::endianness (NFC)

Now that llvm::support::endianness has been renamed to
llvm::endianness, we can use the shorter form. This patch replaces
support::endianness with llvm::endianness.


# 6b31b026 05-Oct-2023 Kazu Hirata <kazu@google.com>

[Support] Deprecate system_endianness (#68279)

system_endianness() just returns llvm::endianness::native, a
compile-time constant equivalent to std::native in C++20. This patch
deprecates system_

[Support] Deprecate system_endianness (#68279)

system_endianness() just returns llvm::endianness::native, a
compile-time constant equivalent to std::native in C++20. This patch
deprecates system_endianness() while replacing all invocations of
system_endianness() with llvm::endianness::native.

While we are at it, this patch replaces
llvm::support::endianness::{big,little} with
llvm::endianness::{big,little} in those statements that happen to call
system_endianness(). It does not go out of its way to replace other
occurrences of llvm::support::endianness::{big,little}.

show more ...


Revision tags: llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0
# b8ede3ba 11-Sep-2023 Lang Hames <lhames@gmail.com>

[ORC] Fix implicit conversion warning due to 5293109774d.

This should fix the warning seen in
https://lab.llvm.org/buildbot/#/builders/13/builds/39980/steps/6/logs/stdio


# 52931097 11-Sep-2023 Lang Hames <lhames@gmail.com>

Re-apply 75c487602a "[ORC] Add a MachOBuilder utility, use it to..." with fixes.

This re-applies 75c487602a8 ([ORC] Add a MachOBuilder utility, use it to build
MachO debug objects), which was revert

Re-apply 75c487602a "[ORC] Add a MachOBuilder utility, use it to..." with fixes.

This re-applies 75c487602a8 ([ORC] Add a MachOBuilder utility, use it to build
MachO debug objects), which was reverted in 99e70cc3a5 due to build
failures. The MachoBuilder class has been refactored to fix the errors.

show more ...


# 75c48760 07-Sep-2023 Lang Hames <lhames@gmail.com>

[ORC] Add a MachOBuilder utility, use it to build MachO debug objects.

Adds a utility for creating MachO objects. In this patch we use this utility to
construct "debug objects" for the debugger supp

[ORC] Add a MachOBuilder utility, use it to build MachO debug objects.

Adds a utility for creating MachO objects. In this patch we use this utility to
construct "debug objects" for the debugger support plugin; however, this utility
should be reusable for other purposes, e.g. constructing object files for
registration with the ObjC runtime.

The debug objects in this patch are created by the MachO JIT debugging-support
plugin. The debug objects hold the debug info for object files loaded under the
JIT, and are registered with the debugger via the GDB-JIT interface. Previously
the plugin created these objects manually using direct writes to a buffer, but
this was difficult to read and modify and had become an impediment to improving
debugger support (e.g. getting source debugging working in the presence of
dead-stripping). Using the MachOBuilder utility should make the debugger
support plugin easier to maintain and improve.

This initial change to MachO JIT'd code debugging aims for feature parity with
the existing plugin (though the debug objects produced are slightly different).
Improvements to JIT'd code debugging will be tackled in follow-up patches.

show more ...