* update rocm-llvm to 6.2.2-2
This commit is contained in:
parent
4d1cc4a9fd
commit
524a304088
64
rocm-llvm/.SRCINFO
Normal file
64
rocm-llvm/.SRCINFO
Normal file
@ -0,0 +1,64 @@
|
||||
pkgbase = rocm-llvm
|
||||
pkgver = 6.2.2
|
||||
pkgrel = 2
|
||||
url = https://rocm.docs.amd.com/en/latest/reference/rocmcc.html
|
||||
arch = x86_64
|
||||
arch = powerpc64le
|
||||
arch = powerpc64
|
||||
arch = riscv64
|
||||
makedepends = git
|
||||
makedepends = cmake
|
||||
makedepends = python
|
||||
makedepends = ninja
|
||||
makedepends = rocm-core
|
||||
makedepends = rocm-cmake
|
||||
makedepends = perl
|
||||
makedepends = gcc-libs
|
||||
makedepends = zlib
|
||||
makedepends = zstd
|
||||
makedepends = libffi
|
||||
makedepends = libedit
|
||||
makedepends = ncurses
|
||||
makedepends = libxml2
|
||||
makedepends = patchelf
|
||||
options = !debug
|
||||
options = staticlibs
|
||||
options = !lto
|
||||
source = rocm-llvm::git+https://github.com/ROCm/llvm-project#tag=rocm-6.2.2
|
||||
source = llvm-ppc64-elfv2.patch
|
||||
source = clang-ppc64-dynamic-linker-path.patch
|
||||
source = clang-ppc64-elfv2.patch
|
||||
sha256sums = ba31afb2b041b766e2c59ad03328363b549eefbe7f1e9b235a70181538165d3e
|
||||
sha256sums = 8c4e8db0b80b1a86f8cff9aa678b70458503bc8926ecc41e0df953ea14ab3559
|
||||
sha256sums = 654b9eafcd20125319b3c319ab6674a940ddef400821c80813c16011ef8b6086
|
||||
sha256sums = 8483b3bfaa31bee7a074bc83a1c7b7fec4cc6579836edb2802348b1340df3e41
|
||||
|
||||
pkgname = rocm-llvm
|
||||
pkgdesc = Radeon Open Compute - LLVM toolchain (llvm, clang, lld)
|
||||
license = Apache-2.0 WITH LLVM-exception
|
||||
depends = rocm-core
|
||||
depends = perl
|
||||
depends = gcc-libs
|
||||
depends = zlib
|
||||
depends = zstd
|
||||
depends = libffi
|
||||
depends = libedit
|
||||
depends = ncurses
|
||||
depends = libxml2
|
||||
|
||||
pkgname = rocm-device-libs
|
||||
pkgdesc = AMD specific device-side language runtime libraries
|
||||
license = NCSA
|
||||
depends = rocm-core
|
||||
|
||||
pkgname = comgr
|
||||
pkgdesc = AMDGPU GPU Code Object Manager
|
||||
license = NCSA
|
||||
depends = glibc
|
||||
depends = gcc-libs
|
||||
depends = zstd
|
||||
depends = zlib
|
||||
depends = ncurses
|
||||
depends = rocm-core
|
||||
depends = rocm-llvm
|
||||
depends = rocm-device-libs
|
5
rocm-llvm/.nvchecker.toml
Normal file
5
rocm-llvm/.nvchecker.toml
Normal file
@ -0,0 +1,5 @@
|
||||
[rocm-llvm]
|
||||
source = 'github'
|
||||
github = 'ROCm/llvm-project'
|
||||
use_latest_release = true
|
||||
prefix = 'rocm-'
|
@ -2,41 +2,31 @@
|
||||
# Maintainer: Torsten Keßler <tpkessler at archlinux dot org>
|
||||
# Contributor: acxz <akashpatel2008 at yahoo dot com>
|
||||
|
||||
pkgname=rocm-llvm
|
||||
pkgdesc='Radeon Open Compute - LLVM toolchain (llvm, clang, lld)'
|
||||
pkgver=6.0.2
|
||||
pkgrel=1.1
|
||||
pkgbase=rocm-llvm
|
||||
pkgname=(rocm-llvm rocm-device-libs comgr)
|
||||
pkgver=6.2.2
|
||||
pkgrel=2
|
||||
arch=(x86_64 powerpc64le powerpc64 riscv64)
|
||||
url='https://rocm.docs.amd.com/en/latest/reference/rocmcc/rocmcc.html'
|
||||
license=('Apache-2.0 WITH LLVM-exception')
|
||||
makedepends=('cmake' 'python' 'ninja')
|
||||
_git='https://github.com/ROCm/llvm-project'
|
||||
source=("${pkgname}-${pkgver}.tar.gz::$_git/archive/rocm-$pkgver.tar.gz"
|
||||
"${pkgname}-fix-segfault.patch"
|
||||
url='https://rocm.docs.amd.com/en/latest/reference/rocmcc.html'
|
||||
makedepends=('git' 'cmake' 'python' 'ninja' 'rocm-core' 'rocm-cmake' 'perl'
|
||||
'gcc-libs' 'zlib' 'zstd' 'libffi' 'libedit' 'ncurses' 'libxml2' 'patchelf')
|
||||
source=("$pkgbase::git+https://github.com/ROCm/llvm-project#tag=rocm-$pkgver"
|
||||
"llvm-ppc64-elfv2.patch"
|
||||
"clang-ppc64-dynamic-linker-path.patch"
|
||||
"clang-ppc64-elfv2.patch"
|
||||
"rocm-llvm-riscv-uleb128.patch")
|
||||
sha256sums=('7d35acc84de1adee65406f92a369a30364703f84279241c444cd93a48c7eeb76'
|
||||
'4d3f198c5422e9987f442c20963223c39b1548ffa00b6c9db81af5070278ce03'
|
||||
"clang-ppc64-elfv2.patch")
|
||||
sha256sums=('ba31afb2b041b766e2c59ad03328363b549eefbe7f1e9b235a70181538165d3e'
|
||||
'8c4e8db0b80b1a86f8cff9aa678b70458503bc8926ecc41e0df953ea14ab3559'
|
||||
'654b9eafcd20125319b3c319ab6674a940ddef400821c80813c16011ef8b6086'
|
||||
'f80157e9ef2bfea9dcb8560e17b76b7e4e9de72bab0c83b1802734ff83293411'
|
||||
'a4dc17071cfc8248f33c74dca14df715710b375e8e1aefc46c4e505334f4bf9b')
|
||||
'8483b3bfaa31bee7a074bc83a1c7b7fec4cc6579836edb2802348b1340df3e41')
|
||||
options=(!debug staticlibs !lto)
|
||||
_dirname="$(basename "$_git")-$(basename "${source[0]}" .tar.gz)"
|
||||
|
||||
prepare() {
|
||||
cd "$_dirname"
|
||||
patch -Np1 -i ../"${pkgname}-fix-segfault.patch"
|
||||
patch -Np1 -i ../"${pkgname}-riscv-uleb128.patch"
|
||||
cd ${srcdir}/${pkgbase}/llvm
|
||||
patch -Np2 -i ${srcdir}/llvm-ppc64-elfv2.patch
|
||||
|
||||
cd ${srcdir}/${_dirname}/llvm
|
||||
patch -Np2 -i ${srcdir}/llvm-ppc64-elfv2.patch
|
||||
|
||||
cd ${srcdir}/${_dirname}/clang
|
||||
patch -Np1 -i ${srcdir}/clang-ppc64-elfv2.patch
|
||||
patch -Np2 -i ${srcdir}/clang-ppc64-dynamic-linker-path.patch
|
||||
cd ${srcdir}/${pkgbase}/clang
|
||||
patch -Np0 -i ${srcdir}/clang-ppc64-elfv2.patch
|
||||
patch -Np2 -i ${srcdir}/clang-ppc64-dynamic-linker-path.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
@ -46,10 +36,14 @@ build() {
|
||||
x86_64) _target=X86 ;;
|
||||
esac
|
||||
|
||||
# Build only minimal debug info to reduce size
|
||||
CFLAGS+=' -g1'
|
||||
CXXFLAGS+=' -g1'
|
||||
|
||||
local cmake_args=(
|
||||
-G Ninja
|
||||
-B build
|
||||
-S "$_dirname/llvm"
|
||||
-S "$pkgbase/llvm"
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
-DCMAKE_INSTALL_PREFIX='/opt/rocm/lib/llvm'
|
||||
-DLLVM_HOST_TRIPLE=$CHOST
|
||||
@ -73,25 +67,77 @@ build() {
|
||||
-DCLANG_INCLUDE_TESTS=OFF
|
||||
-DLLVM_BINUTILS_INCDIR=/usr/include
|
||||
)
|
||||
|
||||
cmake "${cmake_args[@]}"
|
||||
cmake --build build
|
||||
|
||||
local cmake_device_libs_args=(
|
||||
-Wno-dev
|
||||
-S "$pkgbase/amd/device-libs"
|
||||
-B build-device-libs
|
||||
-D CMAKE_BUILD_TYPE=None
|
||||
-D CMAKE_INSTALL_PREFIX=/opt/rocm
|
||||
-D CMAKE_PREFIX_PATH="$srcdir/build"
|
||||
)
|
||||
cmake "${cmake_device_libs_args[@]}"
|
||||
cmake --build build-device-libs
|
||||
|
||||
local cmake_comgr_args=(
|
||||
-Wno-dev
|
||||
-S "$pkgbase/amd/comgr"
|
||||
-B build-comgr
|
||||
-D CMAKE_BUILD_TYPE=None
|
||||
-D CMAKE_INSTALL_PREFIX=/opt/rocm
|
||||
-D BUILD_TESTING=OFF
|
||||
-D CMAKE_PREFIX_PATH="$srcdir/build;$srcdir/build-device-libs"
|
||||
)
|
||||
cmake "${cmake_comgr_args[@]}"
|
||||
cmake --build build-comgr
|
||||
}
|
||||
|
||||
package() {
|
||||
package_rocm-llvm() {
|
||||
pkgdesc='Radeon Open Compute - LLVM toolchain (llvm, clang, lld)'
|
||||
license=('Apache-2.0 WITH LLVM-exception')
|
||||
depends=('rocm-core' 'perl' 'gcc-libs' 'zlib' 'zstd' 'libffi' 'libedit'
|
||||
'ncurses' 'libxml2')
|
||||
|
||||
DESTDIR="$pkgdir" cmake --install build
|
||||
|
||||
# Provide symlink to old LLVM location, pre ROCm 6.0.0
|
||||
ln -s /opt/rocm/lib/llvm "$pkgdir/opt/rocm/llvm"
|
||||
|
||||
# Fix rpath to avoid error when running amdclang and friends
|
||||
# (error while loading shared libraries: libunwind.so.1: cannot open shared object file: No such file or directory)
|
||||
patchelf --set-rpath '$ORIGIN' "$pkgdir/opt/rocm/lib/llvm/lib/libc++abi.so"
|
||||
|
||||
# https://bugs.archlinux.org/task/28479
|
||||
install -d "$pkgdir/opt/rocm/lib/llvm/lib/bfd-plugins"
|
||||
ln -s /opt/rocm/lib/llvm/lib/LLVMgold.so "$pkgdir/opt/rocm/lib/llvm/lib/bfd-plugins/LLVMgold.so"
|
||||
|
||||
cd "$_dirname"
|
||||
cd "$pkgbase"
|
||||
install -Dm644 llvm/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/llvm-LICENSE"
|
||||
install -Dm644 clang/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/clang-LICENSE"
|
||||
install -Dm644 clang-tools-extra/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/clang-tools-extra-LICENSE"
|
||||
install -Dm644 compiler-rt/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/compiler-rt-LICENSE"
|
||||
install -Dm644 lld/LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/lld-LICENSE"
|
||||
}
|
||||
|
||||
package_rocm-device-libs() {
|
||||
pkgdesc='AMD specific device-side language runtime libraries'
|
||||
license=('NCSA')
|
||||
depends=('rocm-core')
|
||||
|
||||
DESTDIR="$pkgdir" cmake --install build-device-libs
|
||||
cd "$pkgbase/amd/device-libs"
|
||||
install -Dm644 LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||
}
|
||||
|
||||
package_comgr() {
|
||||
pkgdesc='AMDGPU GPU Code Object Manager'
|
||||
license=('NCSA')
|
||||
depends=('glibc' 'gcc-libs' 'zstd' 'zlib' 'ncurses'
|
||||
'rocm-core' 'rocm-llvm' 'rocm-device-libs')
|
||||
|
||||
DESTDIR="$pkgdir" cmake --install build-comgr
|
||||
cd "$pkgbase/amd/comgr"
|
||||
install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||
}
|
||||
|
@ -1,24 +1,6 @@
|
||||
--- clang-16.0.4.src/lib/Basic/Targets/PPC.h.orig 2023-05-24 14:28:01.176621490 +0200
|
||||
+++ clang-16.0.4.src/lib/Basic/Targets/PPC.h 2023-05-24 14:29:38.414872784 +0200
|
||||
@@ -425,14 +425,10 @@
|
||||
LongDoubleFormat = &llvm::APFloat::IEEEdouble();
|
||||
} else if ((Triple.getArch() == llvm::Triple::ppc64le)) {
|
||||
DataLayout = "e-m:e-i64:64-n32:64";
|
||||
- ABI = "elfv2";
|
||||
} else {
|
||||
DataLayout = "E-m:e-i64:64-n32:64";
|
||||
- if (Triple.isPPC64ELFv2ABI())
|
||||
- ABI = "elfv2";
|
||||
- else
|
||||
- ABI = "elfv1";
|
||||
}
|
||||
+ ABI = "elfv2";
|
||||
|
||||
if (Triple.isOSFreeBSD() || Triple.isOSOpenBSD() || Triple.isMusl()) {
|
||||
LongDoubleWidth = LongDoubleAlign = 64;
|
||||
--- clang-16.0.4.src/lib/Driver/ToolChains/Clang.cpp.orig 2023-05-24 14:32:51.659489490 +0200
|
||||
+++ clang-16.0.4.src/lib/Driver/ToolChains/Clang.cpp 2023-05-24 14:33:30.235618677 +0200
|
||||
@@ -2000,13 +2000,7 @@
|
||||
--- lib/Driver/ToolChains/Clang.cpp.orig 2024-03-13 17:42:20.994438710 +0100
|
||||
+++ lib/Driver/ToolChains/Clang.cpp 2024-03-13 17:42:54.503144176 +0100
|
||||
@@ -2029,13 +2029,7 @@
|
||||
const char *ABIName = nullptr;
|
||||
if (T.isOSBinFormatELF()) {
|
||||
switch (getToolChain().getArch()) {
|
||||
@ -33,3 +15,25 @@
|
||||
case llvm::Triple::ppc64le:
|
||||
ABIName = "elfv2";
|
||||
break;
|
||||
--- lib/Basic/Targets/PPC.h.orig 2024-03-13 17:38:36.204536553 +0100
|
||||
+++ lib/Basic/Targets/PPC.h 2024-03-13 17:41:36.426819177 +0100
|
||||
@@ -424,18 +424,16 @@
|
||||
LongDoubleFormat = &llvm::APFloat::IEEEdouble();
|
||||
} else if ((Triple.getArch() == llvm::Triple::ppc64le)) {
|
||||
DataLayout = "e-m:e-Fn32-i64:64-n32:64";
|
||||
- ABI = "elfv2";
|
||||
} else {
|
||||
DataLayout = "E-m:e";
|
||||
if (Triple.isPPC64ELFv2ABI()) {
|
||||
- ABI = "elfv2";
|
||||
DataLayout += "-Fn32";
|
||||
} else {
|
||||
- ABI = "elfv1";
|
||||
DataLayout += "-Fi64";
|
||||
}
|
||||
DataLayout += "-i64:64-n32:64";
|
||||
}
|
||||
+ ABI = "elfv2";
|
||||
|
||||
if (Triple.isOSFreeBSD() || Triple.isOSOpenBSD() || Triple.isMusl()) {
|
||||
LongDoubleWidth = LongDoubleAlign = 64;
|
||||
|
Loading…
x
Reference in New Issue
Block a user