mirror of
https://github.com/void-linux/void-packages.git
synced 2025-09-03 10:33:06 +02:00
libomp: fix build on ppc64 and restrict archs
This commit is contained in:
parent
a8138d295d
commit
9293016621
2 changed files with 70 additions and 0 deletions
64
srcpkgs/libomp/patches/ppc64-elfv2.patch
Normal file
64
srcpkgs/libomp/patches/ppc64-elfv2.patch
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
Remove the invalid assumption that ELFv2 == LE.
|
||||||
|
|
||||||
|
--- runtime/src/z_Linux_asm.S
|
||||||
|
+++ runtime/src/z_Linux_asm.S
|
||||||
|
@@ -1503,12 +1503,12 @@ KMP_LABEL(kmp_1):
|
||||||
|
// return: r3 (always 1/TRUE)
|
||||||
|
//
|
||||||
|
.text
|
||||||
|
-# if KMP_ARCH_PPC64_LE
|
||||||
|
+# if _CALL_ELF == 2
|
||||||
|
.abiversion 2
|
||||||
|
# endif
|
||||||
|
.globl __kmp_invoke_microtask
|
||||||
|
|
||||||
|
-# if KMP_ARCH_PPC64_LE
|
||||||
|
+# if _CALL_ELF == 2
|
||||||
|
.p2align 4
|
||||||
|
# else
|
||||||
|
.p2align 2
|
||||||
|
@@ -1516,7 +1516,7 @@ KMP_LABEL(kmp_1):
|
||||||
|
|
||||||
|
.type __kmp_invoke_microtask,@function
|
||||||
|
|
||||||
|
-# if KMP_ARCH_PPC64_LE
|
||||||
|
+# if _CALL_ELF == 2
|
||||||
|
__kmp_invoke_microtask:
|
||||||
|
.Lfunc_begin0:
|
||||||
|
.Lfunc_gep0:
|
||||||
|
@@ -1560,7 +1560,7 @@ __kmp_invoke_microtask:
|
||||||
|
.cfi_offset lr, 16
|
||||||
|
|
||||||
|
// Compute the size necessary for the local stack frame.
|
||||||
|
-# if KMP_ARCH_PPC64_LE
|
||||||
|
+# if _CALL_ELF == 2
|
||||||
|
li 12, 72
|
||||||
|
# else
|
||||||
|
li 12, 88
|
||||||
|
@@ -1638,7 +1638,7 @@ __kmp_invoke_microtask:
|
||||||
|
// for the microtask begins 48 + 8*8 == 112 bytes above r1 for ELFv1 and
|
||||||
|
// 32 + 8*8 == 96 bytes above r1 for ELFv2.
|
||||||
|
addi 4, 4, 40
|
||||||
|
-# if KMP_ARCH_PPC64_LE
|
||||||
|
+# if _CALL_ELF == 2
|
||||||
|
addi 12, 1, 88
|
||||||
|
# else
|
||||||
|
addi 12, 1, 104
|
||||||
|
@@ -1650,7 +1650,7 @@ __kmp_invoke_microtask:
|
||||||
|
bdnz .Lnext
|
||||||
|
|
||||||
|
.Lcall:
|
||||||
|
-# if KMP_ARCH_PPC64_LE
|
||||||
|
+# if _CALL_ELF == 2
|
||||||
|
std 2, 24(1)
|
||||||
|
mr 12, 3
|
||||||
|
#else
|
||||||
|
@@ -1666,7 +1666,7 @@ __kmp_invoke_microtask:
|
||||||
|
|
||||||
|
mtctr 12
|
||||||
|
bctrl
|
||||||
|
-# if KMP_ARCH_PPC64_LE
|
||||||
|
+# if _CALL_ELF == 2
|
||||||
|
ld 2, 24(1)
|
||||||
|
# else
|
||||||
|
ld 2, 40(1)
|
|
@ -2,6 +2,7 @@
|
||||||
pkgname=libomp
|
pkgname=libomp
|
||||||
version=8.0.0
|
version=8.0.0
|
||||||
revision=1
|
revision=1
|
||||||
|
archs="x86_64* i686* armv[67]* aarch64* ppc64*"
|
||||||
wrksrc="openmp-${version}.src"
|
wrksrc="openmp-${version}.src"
|
||||||
build_style=cmake
|
build_style=cmake
|
||||||
configure_args="-DLIBOMP_ENABLE_SHARED=ON -DLIBOMP_INSTALL_ALIASES=OFF"
|
configure_args="-DLIBOMP_ENABLE_SHARED=ON -DLIBOMP_INSTALL_ALIASES=OFF"
|
||||||
|
@ -14,6 +15,11 @@ homepage="https://openmp.llvm.org"
|
||||||
distfiles="https://releases.llvm.org/${version}/openmp-${version}.src.tar.xz"
|
distfiles="https://releases.llvm.org/${version}/openmp-${version}.src.tar.xz"
|
||||||
checksum=f7b1705d2f16c4fc23d6531f67d2dd6fb78a077dd346b02fed64f4b8df65c9d5
|
checksum=f7b1705d2f16c4fc23d6531f67d2dd6fb78a077dd346b02fed64f4b8df65c9d5
|
||||||
|
|
||||||
|
do_check() {
|
||||||
|
# requires lit and clang, lit is not packaged
|
||||||
|
:
|
||||||
|
}
|
||||||
|
|
||||||
libomp-devel_package() {
|
libomp-devel_package() {
|
||||||
short_desc+=" - development files"
|
short_desc+=" - development files"
|
||||||
depends="${sourcepkg}-${version}_${revision}"
|
depends="${sourcepkg}-${version}_${revision}"
|
||||||
|
|
Loading…
Add table
Reference in a new issue