diff mbox series

[v2,08/11] package/llvm-project: bump to version 15.0.3

Message ID VI1P190MB049300FBF75C4F62737566069F319@VI1P190MB0493.EURP190.PROD.OUTLOOK.COM
State Superseded
Headers show
Series group llvm projects and bump to version 15.0.3 | expand

Commit Message

Lang Daniel Oct. 25, 2022, 6:12 a.m. UTC
- Add new build dependencies to lld and llvm
- Drop old config options

Signed-off-by: Daniel Lang <d.lang@abatec.at>
---
Changes v1 -> v2:
- Bump to 15.0.3 instead of 15.0.1
- llvm: use CMAKE_HOST_C_COMPILER instead of HOSTCC
---
 package/llvm-project/clang/clang.hash         |  2 +-
 package/llvm-project/clang/clang.mk           |  8 +------
 .../llvm-project/compiler-rt/compiler-rt.hash |  2 +-
 .../llvm-project/compiler-rt/compiler-rt.mk   |  3 ++-
 package/llvm-project/lld/lld.hash             |  2 +-
 package/llvm-project/lld/lld.mk               |  8 +------
 .../llvm-project/llvm-cmake/llvm-cmake.hash   |  2 +-
 .../llvm-libunwind/llvm-libunwind.hash        |  2 +-
 package/llvm-project/llvm-project.mk          |  4 ++--
 .../llvm/0001-nfc-Fix-missing-include.patch   | 24 -------------------
 package/llvm-project/llvm/llvm.hash           |  2 +-
 package/llvm-project/llvm/llvm.mk             | 21 +++++++++-------
 12 files changed, 24 insertions(+), 56 deletions(-)
 delete mode 100644 package/llvm-project/llvm/0001-nfc-Fix-missing-include.patch

Comments

Romain Naour Feb. 8, 2023, 3:16 p.m. UTC | #1
Hello,

Le 25/10/2022 à 08:12, Lang Daniel via buildroot a écrit :
> - Add new build dependencies to lld and llvm
> - Drop old config options
> 
> Signed-off-by: Daniel Lang <d.lang@abatec.at>
> ---
> Changes v1 -> v2:
> - Bump to 15.0.3 instead of 15.0.1
> - llvm: use CMAKE_HOST_C_COMPILER instead of HOSTCC
> ---
>  package/llvm-project/clang/clang.hash         |  2 +-
>  package/llvm-project/clang/clang.mk           |  8 +------
>  .../llvm-project/compiler-rt/compiler-rt.hash |  2 +-
>  .../llvm-project/compiler-rt/compiler-rt.mk   |  3 ++-
>  package/llvm-project/lld/lld.hash             |  2 +-
>  package/llvm-project/lld/lld.mk               |  8 +------
>  .../llvm-project/llvm-cmake/llvm-cmake.hash   |  2 +-
>  .../llvm-libunwind/llvm-libunwind.hash        |  2 +-
>  package/llvm-project/llvm-project.mk          |  4 ++--
>  .../llvm/0001-nfc-Fix-missing-include.patch   | 24 -------------------
>  package/llvm-project/llvm/llvm.hash           |  2 +-
>  package/llvm-project/llvm/llvm.mk             | 21 +++++++++-------
>  12 files changed, 24 insertions(+), 56 deletions(-)
>  delete mode 100644 package/llvm-project/llvm/0001-nfc-Fix-missing-include.patch
> 
> diff --git a/package/llvm-project/clang/clang.hash b/package/llvm-project/clang/clang.hash
> index 0136b80664..52c755cfb3 100644
> --- a/package/llvm-project/clang/clang.hash
> +++ b/package/llvm-project/clang/clang.hash
> @@ -1,3 +1,3 @@
>  # locally calculated
> -sha256  0a8288f065d1f57cb6d96da4d2965cbea32edc572aa972e466e954d17148558b  clang-11.1.0.src.tar.xz
> +sha256  96036052694e703d159c995bda203b59d1ff185c6879189b9eba837726e1738c  clang-15.0.3.src.tar.xz
>  sha256  ebcd9bbf783a73d05c53ba4d586b8d5813dcdf3bbec50265860ccc885e606f47  LICENSE.TXT
> diff --git a/package/llvm-project/clang/clang.mk b/package/llvm-project/clang/clang.mk
> index 0943e21a8c..0bafd6461b 100644
> --- a/package/llvm-project/clang/clang.mk
> +++ b/package/llvm-project/clang/clang.mk
> @@ -17,13 +17,6 @@ CLANG_INSTALL_STAGING = YES
>  HOST_CLANG_DEPENDENCIES = host-llvm host-libxml2
>  CLANG_DEPENDENCIES = llvm host-clang
>  
> -# LLVM >= 9.0 will soon require C++14 support, building llvm 8.x using a
> -# toolchain using gcc < 5.1 gives an error but actually still works. Setting
> -# this option makes it still build with gcc >= 4.8.
> -# https://reviews.llvm.org/D57264
> -HOST_CLANG_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
> -CLANG_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON

This option was needed on host with an old gcc version.
If you remove this option, you have to add an host gcc dependency on
llvm-project (depends on BR2_HOST_GCC_AT_LEAST_X)

> -
>  # This option is needed, otherwise multiple shared libs
>  # (libclangAST.so, libclangBasic.so, libclangFrontend.so, etc.) will
>  # be generated. As a final shared lib containing all these components
> @@ -62,6 +55,7 @@ CLANG_CONF_OPTS += \
>  HOST_CLANG_CONF_OPTS += -DLLVM_DIR=$(HOST_DIR)/lib/cmake/llvm \
>  	-DCLANG_DEFAULT_LINKER=$(TARGET_LD)
>  CLANG_CONF_OPTS += -DLLVM_DIR=$(STAGING_DIR)/usr/lib/cmake/llvm \
> +	-DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm \
>  	-DCLANG_TABLEGEN:FILEPATH=$(HOST_DIR)/bin/clang-tblgen \
>  	-DLLVM_TABLEGEN_EXE:FILEPATH=$(HOST_DIR)/bin/llvm-tblgen
>  
> diff --git a/package/llvm-project/compiler-rt/compiler-rt.hash b/package/llvm-project/compiler-rt/compiler-rt.hash
> index 8ee010ac5a..fe4e98164b 100644
> --- a/package/llvm-project/compiler-rt/compiler-rt.hash
> +++ b/package/llvm-project/compiler-rt/compiler-rt.hash
> @@ -1,3 +1,3 @@
>  # Locally computed:
> -sha256  def1fc00c764cd3abbba925c712ac38860a756a43b696b291f46fee09e453274  compiler-rt-11.1.0.src.tar.xz
> +sha256  db958eee92d1571d8b7f76c1be8513817f1a888dcf6ced88aca871acfb0eeddd  compiler-rt-15.0.3.src.tar.xz
>  sha256  1a8f1058753f1ba890de984e48f0242a3a5c29a6a8f2ed9fd813f36985387e8d  LICENSE.TXT
> diff --git a/package/llvm-project/compiler-rt/compiler-rt.mk b/package/llvm-project/compiler-rt/compiler-rt.mk
> index 84add60801..026650c7c8 100644
> --- a/package/llvm-project/compiler-rt/compiler-rt.mk
> +++ b/package/llvm-project/compiler-rt/compiler-rt.mk
> @@ -17,7 +17,8 @@ COMPILER_RT_INSTALL_TARGET = NO
>  COMPILER_RT_CONF_OPTS=-DCOMPILER_RT_STANDALONE_BUILD=OFF \
>  	-DCOMPILER_RT_STANDALONE_BUILD=ON \
>  	-DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(GNU_TARGET_NAME) \
> -	-DLLVM_CONFIG_PATH=$(HOST_DIR)/bin/llvm-config
> +	-DLLVM_CONFIG_PATH=$(HOST_DIR)/bin/llvm-config \
> +	-DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm
>  
>  # The installation of the target runtime libraries defaults to DESTDIR, however
>  # host-clang resources directory needs a link so Clang can find the runtime
> diff --git a/package/llvm-project/lld/lld.hash b/package/llvm-project/lld/lld.hash
> index 6d56ffcaab..2d2598dbeb 100644
> --- a/package/llvm-project/lld/lld.hash
> +++ b/package/llvm-project/lld/lld.hash
> @@ -1,3 +1,3 @@
>  # locally calculated
> -sha256  017a788cbe1ecc4a949abf10755870519086d058a2e99f438829aef24f0c66ce  lld-11.1.0.src.tar.xz
> +sha256  cd5d0894a74b957ce78d62212c1df0b3876a7297593aaece6b0512285e3b8732  lld-15.0.3.src.tar.xz
>  sha256  f7891568956e34643eb6a0db1462db30820d40d7266e2a78063f2fe233ece5a0  LICENSE.TXT
> diff --git a/package/llvm-project/lld/lld.mk b/package/llvm-project/lld/lld.mk
> index 46ec3b13ff..539dd0bd71 100644
> --- a/package/llvm-project/lld/lld.mk
> +++ b/package/llvm-project/lld/lld.mk
> @@ -10,13 +10,7 @@ LLD_SOURCE = lld-$(LLD_VERSION).src.tar.xz
>  LLD_LICENSE = Apache-2.0 with exceptions
>  LLD_LICENSE_FILES = LICENSE.TXT
>  LLD_SUPPORTS_IN_SOURCE_BUILD = NO
> -HOST_LLD_DEPENDENCIES = host-llvm
> -
> -# LLVM > 9.0 will soon require C++14 support, building llvm <= 9.0 using a
> -# toolchain using gcc < 5.1 gives an error but actually still works. Setting
> -# this option makes it still build with gcc >= 4.8.
> -# https://reviews.llvm.org/D57264
> -HOST_LLD_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
> +HOST_LLD_DEPENDENCIES = host-llvm host-llvm-libunwind
>  
>  # build as static libs as is done in llvm & clang
>  HOST_LLD_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF
> diff --git a/package/llvm-project/llvm-cmake/llvm-cmake.hash b/package/llvm-project/llvm-cmake/llvm-cmake.hash
> index b76013e810..862c5d92e8 100644
> --- a/package/llvm-project/llvm-cmake/llvm-cmake.hash
> +++ b/package/llvm-project/llvm-cmake/llvm-cmake.hash
> @@ -1,2 +1,2 @@
>  # locally calculated
> -sha256  a660d1b7d4d2ef9759de6ad360d5fa9eed3625a6548068a97df2dd706edf2dd0  cmake-15.0.1.src.tar.xz
> +sha256  21cf3f52c53dc8b8972122ae35a5c18de09c7df693b48b5cd8553c3e3fed090d  cmake-15.0.3.src.tar.xz
> diff --git a/package/llvm-project/llvm-libunwind/llvm-libunwind.hash b/package/llvm-project/llvm-libunwind/llvm-libunwind.hash
> index 2d6286a40e..86775f5dba 100644
> --- a/package/llvm-project/llvm-libunwind/llvm-libunwind.hash
> +++ b/package/llvm-project/llvm-libunwind/llvm-libunwind.hash
> @@ -1,3 +1,3 @@
>  # locally computed
> -sha256  65af59d7cd4672e2c1793402968f803beb3f91a92ad95f8702610a9a07a5ca10  libunwind-15.0.1.src.tar.xz
> +sha256  0ab6e07bf05359e242e9ea80e4089b819914867fa997a715e324e584bcfdf114  libunwind-15.0.3.src.tar.xz
>  sha256  b5efebcaca80879234098e52d1725e6d9eb8fb96a19fce625d39184b705f7b6d  LICENSE.TXT
> diff --git a/package/llvm-project/llvm-project.mk b/package/llvm-project/llvm-project.mk
> index 747a6f5647..5859ff7cfc 100644
> --- a/package/llvm-project/llvm-project.mk
> +++ b/package/llvm-project/llvm-project.mk
> @@ -4,8 +4,8 @@
>  #
>  ################################################################################
>  
> -LLVM_PROJECT_VERSION_MAJOR = 11
> -LLVM_PROJECT_VERSION = $(LLVM_PROJECT_VERSION_MAJOR).1.0
> +LLVM_PROJECT_VERSION_MAJOR = 15
> +LLVM_PROJECT_VERSION = $(LLVM_PROJECT_VERSION_MAJOR).0.3
>  LLVM_PROJECT_SITE = https://github.com/llvm/llvm-project/releases/download/llvmorg-$(LLVM_PROJECT_VERSION)
>  
>  include $(sort $(wildcard package/llvm-project/*/*.mk))
> diff --git a/package/llvm-project/llvm/0001-nfc-Fix-missing-include.patch b/package/llvm-project/llvm/0001-nfc-Fix-missing-include.patch
> deleted file mode 100644
> index 62111ca138..0000000000
> --- a/package/llvm-project/llvm/0001-nfc-Fix-missing-include.patch
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -From b498303066a63a203d24f739b2d2e0e56dca70d1 Mon Sep 17 00:00:00 2001
> -From: serge-sans-paille <sguelton@redhat.com>
> -Date: Tue, 10 Nov 2020 14:55:25 +0100
> -Subject: [PATCH] [nfc] Fix missing include
> -
> -[Retrieved (and backported) from:
> -https://github.com/llvm/llvm-project/commit/b498303066a63a203d24f739b2d2e0e56dca70d1]
> -Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ----
> - llvm/utils/benchmark/src/benchmark_register.h | 1 +
> - 1 file changed, 1 insertion(+)
> -
> -diff --git a/utils/benchmark/src/benchmark_register.h b/utils/benchmark/src/benchmark_register.h
> -index 0705e219f2fa2..4caa5ad4da079 100644
> ---- a/utils/benchmark/src/benchmark_register.h
> -+++ b/utils/benchmark/src/benchmark_register.h
> -@@ -1,6 +1,7 @@
> - #ifndef BENCHMARK_REGISTER_H
> - #define BENCHMARK_REGISTER_H
> - 
> -+#include <limits>
> - #include <vector>
> - 
> - #include "check.h"
> diff --git a/package/llvm-project/llvm/llvm.hash b/package/llvm-project/llvm/llvm.hash
> index e7f79492de..df9aa88411 100644
> --- a/package/llvm-project/llvm/llvm.hash
> +++ b/package/llvm-project/llvm/llvm.hash
> @@ -1,3 +1,3 @@
>  # locally calculated
> -sha256  ce8508e318a01a63d4e8b3090ab2ded3c598a50258cc49e2625b9120d4c03ea5  llvm-11.1.0.src.tar.xz
> +sha256  c39aec729662416dcbf0bfe53a9786b34e7d93d02908a0779a2f6d83ad0a4a27  llvm-15.0.3.src.tar.xz
>  sha256  8d85c1057d742e597985c7d4e6320b015a9139385cff4cbae06ffc0ebe89afee  LICENSE.TXT
> diff --git a/package/llvm-project/llvm/llvm.mk b/package/llvm-project/llvm/llvm.mk
> index 1adad17b16..5751ba4f7f 100644
> --- a/package/llvm-project/llvm/llvm.mk
> +++ b/package/llvm-project/llvm/llvm.mk
> @@ -14,15 +14,16 @@ LLVM_SUPPORTS_IN_SOURCE_BUILD = NO
>  LLVM_INSTALL_STAGING = YES
>  
>  # LLVM >= 9.0 can use python3 to build.
maybe remove this old comment ? host-python (python2) has been removed.

Best regards,
Romain


> -HOST_LLVM_DEPENDENCIES = host-python3
> +HOST_LLVM_DEPENDENCIES = host-python3 host-llvm-cmake
>  LLVM_DEPENDENCIES = host-llvm
>  
> -# LLVM >= 9.0 will soon require C++14 support, building llvm 8.x using a
> -# toolchain using gcc < 5.1 gives an error but actually still works. Setting
> -# this option makes it still build with gcc >= 4.8.
> -# https://reviews.llvm.org/D57264
> -HOST_LLVM_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
> -LLVM_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
> +# Path to cmake modules from host-llvm-cmake
> +HOST_LLVM_CONF_OPTS += -DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm
> +LLVM_CONF_OPTS += -DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm
> +
> +# Assembly files for x64 in lib/Support/BLAKE3 need to be compiled
> +# by a C compiler
> +HOST_LLVM_CONF_OPTS += -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)"
>  
>  # Don't build clang libcxx libcxxabi lldb compiler-rt lld polly as llvm subprojects
>  # This flag assumes that projects are checked out side-by-side and not nested
> @@ -259,7 +260,8 @@ HOST_LLVM_CONF_OPTS += \
>  	-DLLVM_INCLUDE_EXAMPLES=OFF \
>  	-DLLVM_INCLUDE_DOCS=OFF \
>  	-DLLVM_INCLUDE_GO_TESTS=OFF \
> -	-DLLVM_INCLUDE_TESTS=OFF
> +	-DLLVM_INCLUDE_TESTS=OFF \
> +	-DLLVM_INCLUDE_BENCHMARKS=OFF
>  LLVM_CONF_OPTS += \
>  	-DLLVM_BUILD_EXAMPLES=OFF \
>  	-DLLVM_BUILD_DOCS=OFF \
> @@ -270,7 +272,8 @@ LLVM_CONF_OPTS += \
>  	-DLLVM_INCLUDE_EXAMPLES=OFF \
>  	-DLLVM_INCLUDE_DOCS=OFF \
>  	-DLLVM_INCLUDE_GO_TESTS=OFF \
> -	-DLLVM_INCLUDE_TESTS=OFF
> +	-DLLVM_INCLUDE_TESTS=OFF \
> +	-DLLVM_INCLUDE_BENCHMARKS=OFF
>  
>  # Copy llvm-config (host variant) to STAGING_DIR
>  # llvm-config (host variant) returns include and lib directories
diff mbox series

Patch

diff --git a/package/llvm-project/clang/clang.hash b/package/llvm-project/clang/clang.hash
index 0136b80664..52c755cfb3 100644
--- a/package/llvm-project/clang/clang.hash
+++ b/package/llvm-project/clang/clang.hash
@@ -1,3 +1,3 @@ 
 # locally calculated
-sha256  0a8288f065d1f57cb6d96da4d2965cbea32edc572aa972e466e954d17148558b  clang-11.1.0.src.tar.xz
+sha256  96036052694e703d159c995bda203b59d1ff185c6879189b9eba837726e1738c  clang-15.0.3.src.tar.xz
 sha256  ebcd9bbf783a73d05c53ba4d586b8d5813dcdf3bbec50265860ccc885e606f47  LICENSE.TXT
diff --git a/package/llvm-project/clang/clang.mk b/package/llvm-project/clang/clang.mk
index 0943e21a8c..0bafd6461b 100644
--- a/package/llvm-project/clang/clang.mk
+++ b/package/llvm-project/clang/clang.mk
@@ -17,13 +17,6 @@  CLANG_INSTALL_STAGING = YES
 HOST_CLANG_DEPENDENCIES = host-llvm host-libxml2
 CLANG_DEPENDENCIES = llvm host-clang
 
-# LLVM >= 9.0 will soon require C++14 support, building llvm 8.x using a
-# toolchain using gcc < 5.1 gives an error but actually still works. Setting
-# this option makes it still build with gcc >= 4.8.
-# https://reviews.llvm.org/D57264
-HOST_CLANG_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
-CLANG_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
-
 # This option is needed, otherwise multiple shared libs
 # (libclangAST.so, libclangBasic.so, libclangFrontend.so, etc.) will
 # be generated. As a final shared lib containing all these components
@@ -62,6 +55,7 @@  CLANG_CONF_OPTS += \
 HOST_CLANG_CONF_OPTS += -DLLVM_DIR=$(HOST_DIR)/lib/cmake/llvm \
 	-DCLANG_DEFAULT_LINKER=$(TARGET_LD)
 CLANG_CONF_OPTS += -DLLVM_DIR=$(STAGING_DIR)/usr/lib/cmake/llvm \
+	-DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm \
 	-DCLANG_TABLEGEN:FILEPATH=$(HOST_DIR)/bin/clang-tblgen \
 	-DLLVM_TABLEGEN_EXE:FILEPATH=$(HOST_DIR)/bin/llvm-tblgen
 
diff --git a/package/llvm-project/compiler-rt/compiler-rt.hash b/package/llvm-project/compiler-rt/compiler-rt.hash
index 8ee010ac5a..fe4e98164b 100644
--- a/package/llvm-project/compiler-rt/compiler-rt.hash
+++ b/package/llvm-project/compiler-rt/compiler-rt.hash
@@ -1,3 +1,3 @@ 
 # Locally computed:
-sha256  def1fc00c764cd3abbba925c712ac38860a756a43b696b291f46fee09e453274  compiler-rt-11.1.0.src.tar.xz
+sha256  db958eee92d1571d8b7f76c1be8513817f1a888dcf6ced88aca871acfb0eeddd  compiler-rt-15.0.3.src.tar.xz
 sha256  1a8f1058753f1ba890de984e48f0242a3a5c29a6a8f2ed9fd813f36985387e8d  LICENSE.TXT
diff --git a/package/llvm-project/compiler-rt/compiler-rt.mk b/package/llvm-project/compiler-rt/compiler-rt.mk
index 84add60801..026650c7c8 100644
--- a/package/llvm-project/compiler-rt/compiler-rt.mk
+++ b/package/llvm-project/compiler-rt/compiler-rt.mk
@@ -17,7 +17,8 @@  COMPILER_RT_INSTALL_TARGET = NO
 COMPILER_RT_CONF_OPTS=-DCOMPILER_RT_STANDALONE_BUILD=OFF \
 	-DCOMPILER_RT_STANDALONE_BUILD=ON \
 	-DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(GNU_TARGET_NAME) \
-	-DLLVM_CONFIG_PATH=$(HOST_DIR)/bin/llvm-config
+	-DLLVM_CONFIG_PATH=$(HOST_DIR)/bin/llvm-config \
+	-DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm
 
 # The installation of the target runtime libraries defaults to DESTDIR, however
 # host-clang resources directory needs a link so Clang can find the runtime
diff --git a/package/llvm-project/lld/lld.hash b/package/llvm-project/lld/lld.hash
index 6d56ffcaab..2d2598dbeb 100644
--- a/package/llvm-project/lld/lld.hash
+++ b/package/llvm-project/lld/lld.hash
@@ -1,3 +1,3 @@ 
 # locally calculated
-sha256  017a788cbe1ecc4a949abf10755870519086d058a2e99f438829aef24f0c66ce  lld-11.1.0.src.tar.xz
+sha256  cd5d0894a74b957ce78d62212c1df0b3876a7297593aaece6b0512285e3b8732  lld-15.0.3.src.tar.xz
 sha256  f7891568956e34643eb6a0db1462db30820d40d7266e2a78063f2fe233ece5a0  LICENSE.TXT
diff --git a/package/llvm-project/lld/lld.mk b/package/llvm-project/lld/lld.mk
index 46ec3b13ff..539dd0bd71 100644
--- a/package/llvm-project/lld/lld.mk
+++ b/package/llvm-project/lld/lld.mk
@@ -10,13 +10,7 @@  LLD_SOURCE = lld-$(LLD_VERSION).src.tar.xz
 LLD_LICENSE = Apache-2.0 with exceptions
 LLD_LICENSE_FILES = LICENSE.TXT
 LLD_SUPPORTS_IN_SOURCE_BUILD = NO
-HOST_LLD_DEPENDENCIES = host-llvm
-
-# LLVM > 9.0 will soon require C++14 support, building llvm <= 9.0 using a
-# toolchain using gcc < 5.1 gives an error but actually still works. Setting
-# this option makes it still build with gcc >= 4.8.
-# https://reviews.llvm.org/D57264
-HOST_LLD_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
+HOST_LLD_DEPENDENCIES = host-llvm host-llvm-libunwind
 
 # build as static libs as is done in llvm & clang
 HOST_LLD_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF
diff --git a/package/llvm-project/llvm-cmake/llvm-cmake.hash b/package/llvm-project/llvm-cmake/llvm-cmake.hash
index b76013e810..862c5d92e8 100644
--- a/package/llvm-project/llvm-cmake/llvm-cmake.hash
+++ b/package/llvm-project/llvm-cmake/llvm-cmake.hash
@@ -1,2 +1,2 @@ 
 # locally calculated
-sha256  a660d1b7d4d2ef9759de6ad360d5fa9eed3625a6548068a97df2dd706edf2dd0  cmake-15.0.1.src.tar.xz
+sha256  21cf3f52c53dc8b8972122ae35a5c18de09c7df693b48b5cd8553c3e3fed090d  cmake-15.0.3.src.tar.xz
diff --git a/package/llvm-project/llvm-libunwind/llvm-libunwind.hash b/package/llvm-project/llvm-libunwind/llvm-libunwind.hash
index 2d6286a40e..86775f5dba 100644
--- a/package/llvm-project/llvm-libunwind/llvm-libunwind.hash
+++ b/package/llvm-project/llvm-libunwind/llvm-libunwind.hash
@@ -1,3 +1,3 @@ 
 # locally computed
-sha256  65af59d7cd4672e2c1793402968f803beb3f91a92ad95f8702610a9a07a5ca10  libunwind-15.0.1.src.tar.xz
+sha256  0ab6e07bf05359e242e9ea80e4089b819914867fa997a715e324e584bcfdf114  libunwind-15.0.3.src.tar.xz
 sha256  b5efebcaca80879234098e52d1725e6d9eb8fb96a19fce625d39184b705f7b6d  LICENSE.TXT
diff --git a/package/llvm-project/llvm-project.mk b/package/llvm-project/llvm-project.mk
index 747a6f5647..5859ff7cfc 100644
--- a/package/llvm-project/llvm-project.mk
+++ b/package/llvm-project/llvm-project.mk
@@ -4,8 +4,8 @@ 
 #
 ################################################################################
 
-LLVM_PROJECT_VERSION_MAJOR = 11
-LLVM_PROJECT_VERSION = $(LLVM_PROJECT_VERSION_MAJOR).1.0
+LLVM_PROJECT_VERSION_MAJOR = 15
+LLVM_PROJECT_VERSION = $(LLVM_PROJECT_VERSION_MAJOR).0.3
 LLVM_PROJECT_SITE = https://github.com/llvm/llvm-project/releases/download/llvmorg-$(LLVM_PROJECT_VERSION)
 
 include $(sort $(wildcard package/llvm-project/*/*.mk))
diff --git a/package/llvm-project/llvm/0001-nfc-Fix-missing-include.patch b/package/llvm-project/llvm/0001-nfc-Fix-missing-include.patch
deleted file mode 100644
index 62111ca138..0000000000
--- a/package/llvm-project/llvm/0001-nfc-Fix-missing-include.patch
+++ /dev/null
@@ -1,24 +0,0 @@ 
-From b498303066a63a203d24f739b2d2e0e56dca70d1 Mon Sep 17 00:00:00 2001
-From: serge-sans-paille <sguelton@redhat.com>
-Date: Tue, 10 Nov 2020 14:55:25 +0100
-Subject: [PATCH] [nfc] Fix missing include
-
-[Retrieved (and backported) from:
-https://github.com/llvm/llvm-project/commit/b498303066a63a203d24f739b2d2e0e56dca70d1]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
----
- llvm/utils/benchmark/src/benchmark_register.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/utils/benchmark/src/benchmark_register.h b/utils/benchmark/src/benchmark_register.h
-index 0705e219f2fa2..4caa5ad4da079 100644
---- a/utils/benchmark/src/benchmark_register.h
-+++ b/utils/benchmark/src/benchmark_register.h
-@@ -1,6 +1,7 @@
- #ifndef BENCHMARK_REGISTER_H
- #define BENCHMARK_REGISTER_H
- 
-+#include <limits>
- #include <vector>
- 
- #include "check.h"
diff --git a/package/llvm-project/llvm/llvm.hash b/package/llvm-project/llvm/llvm.hash
index e7f79492de..df9aa88411 100644
--- a/package/llvm-project/llvm/llvm.hash
+++ b/package/llvm-project/llvm/llvm.hash
@@ -1,3 +1,3 @@ 
 # locally calculated
-sha256  ce8508e318a01a63d4e8b3090ab2ded3c598a50258cc49e2625b9120d4c03ea5  llvm-11.1.0.src.tar.xz
+sha256  c39aec729662416dcbf0bfe53a9786b34e7d93d02908a0779a2f6d83ad0a4a27  llvm-15.0.3.src.tar.xz
 sha256  8d85c1057d742e597985c7d4e6320b015a9139385cff4cbae06ffc0ebe89afee  LICENSE.TXT
diff --git a/package/llvm-project/llvm/llvm.mk b/package/llvm-project/llvm/llvm.mk
index 1adad17b16..5751ba4f7f 100644
--- a/package/llvm-project/llvm/llvm.mk
+++ b/package/llvm-project/llvm/llvm.mk
@@ -14,15 +14,16 @@  LLVM_SUPPORTS_IN_SOURCE_BUILD = NO
 LLVM_INSTALL_STAGING = YES
 
 # LLVM >= 9.0 can use python3 to build.
-HOST_LLVM_DEPENDENCIES = host-python3
+HOST_LLVM_DEPENDENCIES = host-python3 host-llvm-cmake
 LLVM_DEPENDENCIES = host-llvm
 
-# LLVM >= 9.0 will soon require C++14 support, building llvm 8.x using a
-# toolchain using gcc < 5.1 gives an error but actually still works. Setting
-# this option makes it still build with gcc >= 4.8.
-# https://reviews.llvm.org/D57264
-HOST_LLVM_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
-LLVM_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
+# Path to cmake modules from host-llvm-cmake
+HOST_LLVM_CONF_OPTS += -DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm
+LLVM_CONF_OPTS += -DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm
+
+# Assembly files for x64 in lib/Support/BLAKE3 need to be compiled
+# by a C compiler
+HOST_LLVM_CONF_OPTS += -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)"
 
 # Don't build clang libcxx libcxxabi lldb compiler-rt lld polly as llvm subprojects
 # This flag assumes that projects are checked out side-by-side and not nested
@@ -259,7 +260,8 @@  HOST_LLVM_CONF_OPTS += \
 	-DLLVM_INCLUDE_EXAMPLES=OFF \
 	-DLLVM_INCLUDE_DOCS=OFF \
 	-DLLVM_INCLUDE_GO_TESTS=OFF \
-	-DLLVM_INCLUDE_TESTS=OFF
+	-DLLVM_INCLUDE_TESTS=OFF \
+	-DLLVM_INCLUDE_BENCHMARKS=OFF
 LLVM_CONF_OPTS += \
 	-DLLVM_BUILD_EXAMPLES=OFF \
 	-DLLVM_BUILD_DOCS=OFF \
@@ -270,7 +272,8 @@  LLVM_CONF_OPTS += \
 	-DLLVM_INCLUDE_EXAMPLES=OFF \
 	-DLLVM_INCLUDE_DOCS=OFF \
 	-DLLVM_INCLUDE_GO_TESTS=OFF \
-	-DLLVM_INCLUDE_TESTS=OFF
+	-DLLVM_INCLUDE_TESTS=OFF \
+	-DLLVM_INCLUDE_BENCHMARKS=OFF
 
 # Copy llvm-config (host variant) to STAGING_DIR
 # llvm-config (host variant) returns include and lib directories