Skip to content

[Documentation Improvement]: Patch made for different LLVM version #833

@codegallivant

Description

@codegallivant

Description of issue with documention/Way documentation can be improved

In the README, it asks to apply the OOP JIT patch in the following manner-

git clone --depth=1 --branch release/21.x https://github.com/llvm/llvm-project.git
cd llvm-project
git apply -v ../CppInterOp/patches/llvm/clang20-1-out-of-process.patch

However, if you try running the patch, it will return an error, because the patch is not made for release/21.x. I have verified this on an Ubuntu 24.04 x86 container.
Output (for release/21.x)-

llvm-project  release/21.x  git apply -v ../CppInterOp/patches/llvm/clang20-1-out-of-process.patch                                                                   ✔  18:18:27

Checking patch clang/include/clang/Interpreter/Interpreter.h...
error: while searching for:

#include "llvm/ADT/DenseMap.h"
#include "llvm/ExecutionEngine/JITSymbol.h"
#include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h"
#include "llvm/Support/Error.h"
#include <memory>
#include <vector>


error: patch failed: clang/include/clang/Interpreter/Interpreter.h:20
error: clang/include/clang/Interpreter/Interpreter.h: patch does not apply
Checking patch clang/lib/Interpreter/IncrementalExecutor.cpp...
Checking patch clang/lib/Interpreter/IncrementalExecutor.h...
Checking patch clang/lib/Interpreter/Interpreter.cpp...
error: while searching for:
#include "clang/Sema/Lookup.h"
#include "clang/Serialization/ObjectFilePCHContainerReader.h"
#include "llvm/ExecutionEngine/JITSymbol.h"
#include "llvm/ExecutionEngine/Orc/LLJIT.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/Errc.h"

error: patch failed: clang/lib/Interpreter/Interpreter.cpp:46
error: clang/lib/Interpreter/Interpreter.cpp: patch does not apply
Checking patch clang/tools/clang-repl/ClangRepl.cpp...
error: while searching for:
//===----------------------------------------------------------------------===//

#include "clang/Basic/Diagnostic.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/Frontend/FrontendDiagnostic.h"
#include "clang/Interpreter/CodeCompletion.h"

error: patch failed: clang/tools/clang-repl/ClangRepl.cpp:11
error: clang/tools/clang-repl/ClangRepl.cpp: patch does not apply
Checking patch llvm/lib/ExecutionEngine/Orc/LLJIT.cpp...
error: while searching for:
      int32_t result;
      auto E = ES.callSPSWrapper<SPSDLUpdateSig>(WrapperAddr->getAddress(),
                                                 result, DSOHandles[&JD]);
      if (result)
        return make_error<StringError>("dlupdate failed",
                                       inconvertibleErrorCode());
      return E;
    }
    return ES.callSPSWrapper<SPSDLOpenSig>(WrapperAddr->getAddress(),
                                           DSOHandles[&JD], JD.getName(),
                                           int32_t(ORC_RT_RTLD_LAZY));
  } else
    return WrapperAddr.takeError();
}

Error ORCPlatformSupport::deinitialize(orc::JITDylib &JD) {

error: patch failed: llvm/lib/ExecutionEngine/Orc/LLJIT.cpp:635
error: llvm/lib/ExecutionEngine/Orc/LLJIT.cpp: patch does not apply

The patch works with release/20.x.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions