diff options
| author | Naveen Saini <naveen.kumar.saini@intel.com> | 2020-04-16 16:22:38 +0800 |
|---|---|---|
| committer | Anuj Mittal <anuj.mittal@intel.com> | 2020-04-17 08:06:37 +0800 |
| commit | 52dc0273759daaf167bf38656bab5cb2da27028f (patch) | |
| tree | 85c795ce568d6b6b4393271be7f9acff310791c6 /dynamic-layers/clang-layer | |
| parent | ee6810244211e6226cde0d2433e79461ae89b750 (diff) | |
| download | meta-intel-52dc0273759daaf167bf38656bab5cb2da27028f.tar.gz | |
opencl-clang: fix runtime error
Error log:
clang (LLVM option parsing): Unknown command line argument '-pgo-warn-misexpect'.
Try: 'clang (LLVM option parsing) --help'
Force opencl-clang to link with shared clang-cpp for target builds and
explicitly link with spirv library because of a change in behaviour in llvm 10.
Use the patch to link with all static libs only for native cases where meta-clang
default to building static libs only by default.
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Diffstat (limited to 'dynamic-layers/clang-layer')
4 files changed, 80 insertions, 34 deletions
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch new file mode 100644 index 00000000..8ffa853b --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | From 7fc05c52dd91902fa324a7aac9b90715cfca4717 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Naveen Saini <naveen.kumar.saini@intel.com> | ||
| 3 | Date: Wed, 15 Apr 2020 17:55:32 +0800 | ||
| 4 | Subject: [PATCH] Building in-tree with LLVM 10.0 with the LLVM_LINK_LLVM_DYLIB | ||
| 5 | |||
| 6 | Failed to link with the LLVMSPIRVLib library. | ||
| 7 | |||
| 8 | Add an explicit dependency to force the correct build order and linking. | ||
| 9 | |||
| 10 | Reference: | ||
| 11 | https://github.com/KhronosGroup/SPIRV-LLVM-Translator/commit/a6d4ccf082858e63e139ca06c02a071c343d2657 | ||
| 12 | |||
| 13 | Upstream-Status: Submitted [https://github.com/intel/opencl-clang/pull/118] | ||
| 14 | |||
| 15 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
| 16 | --- | ||
| 17 | CMakeLists.txt | 2 +- | ||
| 18 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 19 | |||
| 20 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
| 21 | index 51c140d..b8b514e 100644 | ||
| 22 | --- a/CMakeLists.txt | ||
| 23 | +++ b/CMakeLists.txt | ||
| 24 | @@ -208,7 +208,7 @@ link_directories( | ||
| 25 | |||
| 26 | set(OPENCL_CLANG_LINK_LIBS ${CMAKE_DL_LIBS}) | ||
| 27 | |||
| 28 | -if(NOT LLVMSPIRVLib IN_LIST LLVM_AVAILABLE_LIBS) | ||
| 29 | +if(NOT LLVMSPIRVLib IN_LIST LLVM_AVAILABLE_LIBS OR (USE_PREBUILT_LLVM AND LLVM_LINK_LLVM_DYLIB)) | ||
| 30 | # SPIRV-LLVM-Translator is not included into LLVM as a component. | ||
| 31 | # So, we need to list it here explicitly as an external library | ||
| 32 | list(APPEND OPENCL_CLANG_LINK_LIBS LLVMSPIRVLib) | ||
| 33 | -- | ||
| 34 | 2.17.1 | ||
| 35 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-make-sure-only-static-libraries-linked-for-native-bu.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-make-sure-only-static-libraries-linked-for-native-bu.patch new file mode 100644 index 00000000..473f4d24 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-make-sure-only-static-libraries-linked-for-native-bu.patch | |||
| @@ -0,0 +1,42 @@ | |||
| 1 | From b29e00e6fe428a031cf577dfb703cf13eff837f6 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Naveen Saini <naveen.kumar.saini@intel.com> | ||
| 3 | Date: Wed, 15 Apr 2020 18:05:14 +0800 | ||
| 4 | Subject: [PATCH 2/2] make sure only static libraries linked for native build | ||
| 5 | |||
| 6 | LINK_COMPONENTS=all isn't working for static libs for out of tree builds. Use | ||
| 7 | LLVM_AVAILABLE_LIBS instead. Reported: | ||
| 8 | |||
| 9 | https://github.com/intel/opencl-clang/issues/114 | ||
| 10 | |||
| 11 | Upstream-Status: Pending | ||
| 12 | |||
| 13 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
| 14 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
| 15 | --- | ||
| 16 | CMakeLists.txt | 3 ++- | ||
| 17 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
| 18 | |||
| 19 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
| 20 | index 8707487..ad2dbda 100644 | ||
| 21 | --- a/CMakeLists.txt | ||
| 22 | +++ b/CMakeLists.txt | ||
| 23 | @@ -218,7 +218,7 @@ add_subdirectory(cl_headers) | ||
| 24 | |||
| 25 | set(LLVM_REQUIRES_EH ON) | ||
| 26 | |||
| 27 | -if(USE_PREBUILT_LLVM OR CLANG_LINK_CLANG_DYLIB) | ||
| 28 | +if(false) | ||
| 29 | list(APPEND OPENCL_CLANG_LINK_LIBS clang-cpp) | ||
| 30 | else() | ||
| 31 | list(APPEND OPENCL_CLANG_LINK_LIBS | ||
| 32 | @@ -266,6 +266,7 @@ add_llvm_library(${TARGET_NAME} SHARED | ||
| 33 | all | ||
| 34 | LINK_LIBS | ||
| 35 | ${OPENCL_CLANG_LINK_LIBS} | ||
| 36 | + ${LLVM_AVAILABLE_LIBS} | ||
| 37 | ) | ||
| 38 | |||
| 39 | # Configure resource file on Windows | ||
| 40 | -- | ||
| 41 | 2.17.1 | ||
| 42 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/link-with-all-libs.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/link-with-all-libs.patch deleted file mode 100644 index bd6c9676..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/link-with-all-libs.patch +++ /dev/null | |||
| @@ -1,32 +0,0 @@ | |||
| 1 | From cc0769fb72561f82976e40c5b7ea8bf07069c87a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Anuj Mittal <anuj.mittal@intel.com> | ||
| 3 | Date: Thu, 19 Mar 2020 16:30:07 +0800 | ||
| 4 | Subject: [PATCH] link to all libs | ||
| 5 | |||
| 6 | LINK_COMPONENTS=all isn't working for static libs for out of tree builds. Use | ||
| 7 | LLVM_AVAILABLE_LIBS instead. Reported: | ||
| 8 | |||
| 9 | https://github.com/intel/opencl-clang/issues/114 | ||
| 10 | |||
| 11 | Upstream-Status: Pending | ||
| 12 | |||
| 13 | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> | ||
| 14 | --- | ||
| 15 | CMakeLists.txt | 1 + | ||
| 16 | 1 file changed, 1 insertion(+) | ||
| 17 | |||
| 18 | diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
| 19 | index 4590a11..2ff9901 100644 | ||
| 20 | --- a/CMakeLists.txt | ||
| 21 | +++ b/CMakeLists.txt | ||
| 22 | @@ -261,6 +261,7 @@ add_llvm_library(${TARGET_NAME} SHARED | ||
| 23 | clangLex | ||
| 24 | clangBasic | ||
| 25 | ${ADDITIONAL_LIBS} | ||
| 26 | + ${LLVM_AVAILABLE_LIBS} | ||
| 27 | ) | ||
| 28 | |||
| 29 | # Configure resource file on Windows | ||
| 30 | -- | ||
| 31 | 2.25.1 | ||
| 32 | |||
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_10.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_10.0.0.bb index cc897c64..042cfa30 100644 --- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_10.0.0.bb +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_10.0.0.bb | |||
| @@ -7,10 +7,11 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=e8a15bf1416762a09ece07e44c79118c" | |||
| 7 | 7 | ||
| 8 | SRC_URI = "git://github.com/intel/opencl-clang.git;branch=ocl-open-100;protocol=https \ | 8 | SRC_URI = "git://github.com/intel/opencl-clang.git;branch=ocl-open-100;protocol=https \ |
| 9 | file://0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch \ | 9 | file://0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch \ |
| 10 | file://link-with-all-libs.patch \ | 10 | file://0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch \ |
| 11 | " | 11 | " |
| 12 | SRC_URI_append_class-native = " file://0002-make-sure-only-static-libraries-linked-for-native-bu.patch" | ||
| 12 | 13 | ||
| 13 | SRCREV = "0a5a9f67b56431ef7b9436d1af812df6dfb44975" | 14 | SRCREV = "9f0c2c0f5ddea1accc921aed4c94bc52c1b85637" |
| 14 | 15 | ||
| 15 | S = "${WORKDIR}/git" | 16 | S = "${WORKDIR}/git" |
| 16 | 17 | ||
