* add compiler-rt14
This commit is contained in:
parent
264e400445
commit
1e5182e8f5
54
compiler-rt14/PKGBUILD
Normal file
54
compiler-rt14/PKGBUILD
Normal file
@ -0,0 +1,54 @@
|
||||
# POWER Maintainer: Alexander Baldeck <alex.bldck@gmail.com>
|
||||
# Maintainer: Evangelos Foutras <evangelos@foutrelis.com>
|
||||
# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com>
|
||||
|
||||
pkgname=compiler-rt14
|
||||
pkgver=14.0.6
|
||||
pkgrel=1
|
||||
pkgdesc="Compiler runtime libraries for clang 14"
|
||||
arch=(x86_64 powerpc64le powerpc64 powerpc riscv64)
|
||||
url="https://compiler-rt.llvm.org/"
|
||||
license=('custom:Apache 2.0 with LLVM Exception')
|
||||
depends=('gcc-libs')
|
||||
makedepends=('llvm14' 'cmake' 'ninja' 'python')
|
||||
# Build 32-bit compiler-rt libraries on x86_64 (FS#41911)
|
||||
makedepends_x86_64=('lib32-gcc-libs')
|
||||
options=('staticlibs')
|
||||
_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver
|
||||
source=($_source_base/compiler-rt-$pkgver.src.tar.xz{,.sig}
|
||||
remove-include-linux-fs.h.patch)
|
||||
sha256sums=('88df303840ca8fbff944e15e61c141226fe79f5d2b8e89fb024264d77841a02e'
|
||||
'SKIP'
|
||||
'34ed866e313e4580130a50118a4410d36fa0159123982521b6ef049439fc32ad')
|
||||
validpgpkeys=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard <tstellar@redhat.com>
|
||||
|
||||
prepare() {
|
||||
cd compiler-rt-$pkgver.src
|
||||
mkdir build
|
||||
|
||||
# https://github.com/llvm/llvm-project/issues/56421
|
||||
patch -Np2 -i ../remove-include-linux-fs.h.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd compiler-rt-$pkgver.src/build
|
||||
|
||||
local cmake_args=(
|
||||
-G Ninja
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
-DCMAKE_INSTALL_PREFIX=/usr/lib/llvm14
|
||||
-DCMAKE_SKIP_RPATH=ON
|
||||
-DCOMPILER_RT_INSTALL_PATH=/usr/lib/llvm14/lib/clang/$pkgver
|
||||
)
|
||||
cmake .. "${cmake_args[@]}"
|
||||
ninja
|
||||
}
|
||||
|
||||
package() {
|
||||
cd compiler-rt-$pkgver.src/build
|
||||
|
||||
DESTDIR="$pkgdir" ninja install
|
||||
install -Dm644 ../LICENSE.TXT "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||
}
|
||||
|
||||
# vim:set ts=2 sw=2 et:
|
@ -0,0 +1,29 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFrqgT0BEAC7xo0WH+eNrLlU5LrCk59KmImn1abFcmWNd8kYr5XfqmJKyVqo
|
||||
EY7A/yRjf+Yn1621EDkpKPjbql7q7MlZMpqKVdOWKWgmhvz08IOKJxaIABd/iIRT
|
||||
FwhIvB68YjtmzcoOJRi1wLnwuG55fJ9E69HyZ33jgAlRaWV3bE/YyszoTlZriUOE
|
||||
RbzC5WzX004cE9evlrr+YLt5Y6z7tntOdSXPLyGOFAO5LYMsHsEdi2JBYWrjlslG
|
||||
6iJr5iEt9v442PrJ79YYbu5QWe/6APRWtI3AtKBp7y250oon2lbj+bIVD7U9fOBB
|
||||
n/Frqx54UN22sJycET63hgYW4pIjIi5zq+FF15aU+ZqBdtNltoX4hEN7wlDpuNc0
|
||||
ezVu2Z8hdt8thpjiFUioTQ1t3RmsN6N548VwxmHdoYpAmiZqPIYBYvm85JB7S/3h
|
||||
RLuoeGxufBhXGCpnG8ghTOGtbbdanuLB/UROFXTdyZbTCBN5S6jvwkPSaHG7H35Z
|
||||
3fazMriTXwL1RGAbKITSWhDe5dXy/yOInWe8emJx+35vwQYCB2L4S8wRyQyRw6x4
|
||||
YoXCscW041DUMBX2CC7SjMCcmAC39UX1c3GbTpS3rkJR9cmXt50nviMnKpIwlIPd
|
||||
ZYhmxKifwTJ70+c4GVK2o0MG9bTYvpYhLnYxv6iJCfgmT40E+qkDSzSoZwARAQAB
|
||||
tCJUb20gU3RlbGxhcmQgPHRzdGVsbGFyQHJlZGhhdC5jb20+iQJWBBMBCABAAhsD
|
||||
BwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AWIQRHTiIxar9HhaiMbo6ix5SphkGd
|
||||
igUCYJMrXwUJCWsRIgAKCRCix5SphkGdir/GD/4zT43DAD9GU6VHGFeOphisH2kN
|
||||
IORVDEn8T+7iR7XLY9nVHJDxqQPUgB/gKYibrVYE0KVqjSSj3dr1cTorubMsDYgy
|
||||
gjjJSroOZupYC1+Yd8wb0jfdB6Z+CNKh0QN64BDS6D7P1GAcaIbxTyITjoz6jhyF
|
||||
Lkj4QCLiGWsMbapQA7MB4ij8t/AKORp1kW+tMyn6wfjfmYjrYOyE65UxmJtrV9Fv
|
||||
YllBt9oCAP0V9qphT6C6wxarJOuhIq9BoZOYKaUa5qRJfzNZagPG8ZalraP/MFfM
|
||||
g20hLuX5jN1jdzlHEgNt5WCYuI+uekOIUuT1PiFrmWwYXKWMAxnsVefpv8kmW8LR
|
||||
2TCG+ALvnYCRwr0Ykqh4KZcn4mpsV+QnwNAyVR6Bl6QTsPGtoHkU9Pg640mzkvgg
|
||||
w55X5kC3x4IxLskD1PFdFpW9LSRL5zz6jT5gL9Eb+zAuKpg/8w64MLnXaX69cR/p
|
||||
1rrNqZUfBOqf8fbrzy296ZSfeK4tV414iT8j76swQMAONGXoNKxO7E1cAgtxPUWW
|
||||
u3R4de3sZHGXTiEv70UNRv1TWjlVMK3Av7yDIGUnt+2wi3jilYjLWnAIgSQ46CDQ
|
||||
tUCdhdwmFcJLa3IJrs/UvHtlq6nU1sIo4wqJwfNBMHx0JZc+bKf41OgYL9ve11F5
|
||||
IKZNcvom0Pf7MkUKRQ==
|
||||
=Kuwb
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
59
compiler-rt14/remove-include-linux-fs.h.patch
Normal file
59
compiler-rt14/remove-include-linux-fs.h.patch
Normal file
@ -0,0 +1,59 @@
|
||||
From 9cf13067cb5088626ba7ee1ec4c42ec59c7995a0 Mon Sep 17 00:00:00 2001
|
||||
From: Fangrui Song <i@maskray.me>
|
||||
Date: Mon, 11 Jul 2022 12:53:34 -0700
|
||||
Subject: [PATCH] [sanitizer] Remove #include <linux/fs.h> to resolve
|
||||
fsconfig_command/mount_attr conflict with glibc 2.36
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
It is generally not a good idea to mix usage of glibc headers and Linux UAPI
|
||||
headers (https://sourceware.org/glibc/wiki/Synchronizing_Headers). In glibc
|
||||
since 7eae6a91e9b1670330c9f15730082c91c0b1d570 (milestone: 2.36), sys/mount.h
|
||||
defines `fsconfig_command` which conflicts with linux/mount.h:
|
||||
|
||||
.../usr/include/linux/mount.h:95:6: error: redeclaration of ‘enum fsconfig_command’
|
||||
|
||||
Remove #include <linux/fs.h> which pulls in linux/mount.h. Expand its 4 macros manually.
|
||||
Android sys/mount.h doesn't define BLKBSZGET and it still needs linux/fs.h.
|
||||
In the long term we should move Linux specific definitions to sanitizer_platform_limits_linux.cpp
|
||||
but this commit is easy to cherry pick into older compiler-rt releases.
|
||||
|
||||
Fix https://github.com/llvm/llvm-project/issues/56421
|
||||
|
||||
Reviewed By: #sanitizers, vitalybuka, zatrazz
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D129471
|
||||
---
|
||||
.../sanitizer_platform_limits_posix.cpp | 10 ++++++----
|
||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||
index 4bd425435d56..3a94b260686f 100644
|
||||
--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
|
||||
@@ -73,7 +73,9 @@
|
||||
#include <sys/vt.h>
|
||||
#include <linux/cdrom.h>
|
||||
#include <linux/fd.h>
|
||||
+#if SANITIZER_ANDROID
|
||||
#include <linux/fs.h>
|
||||
+#endif
|
||||
#include <linux/hdreg.h>
|
||||
#include <linux/input.h>
|
||||
#include <linux/ioctl.h>
|
||||
@@ -876,10 +878,10 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
|
||||
unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT;
|
||||
unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT;
|
||||
#endif
|
||||
- unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS;
|
||||
- unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION;
|
||||
- unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS;
|
||||
- unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION;
|
||||
+ unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long);
|
||||
+ unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long);
|
||||
+ unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long);
|
||||
+ unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long);
|
||||
unsigned IOCTL_GIO_CMAP = GIO_CMAP;
|
||||
unsigned IOCTL_GIO_FONT = GIO_FONT;
|
||||
unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP;
|
Loading…
x
Reference in New Issue
Block a user