summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2016-10-18 18:57:25 +0200
committerMichał Górny <mgorny@gentoo.org>2016-10-18 18:59:38 +0200
commit2b24f61af9fea06bfbc34d4f8e381d00b38853cd (patch)
tree4705519eda1c27771e84b77473bb6a55cabcc1f3 /sys-libs
parentlicenses: Remove unused SCM-MICRO license. (diff)
downloadgentoo-2b24f61af9fea06bfbc34d4f8e381d00b38853cd.tar.gz
gentoo-2b24f61af9fea06bfbc34d4f8e381d00b38853cd.tar.bz2
gentoo-2b24f61af9fea06bfbc34d4f8e381d00b38853cd.zip
sys-libs/libomp: Backport upstream musl fix by Lei Zhang
Closes: https://github.com/gentoo/gentoo/pull/2118
Diffstat (limited to 'sys-libs')
-rw-r--r--sys-libs/libomp/files/libomp-3.9.0-musl-strerror_r.patch35
-rw-r--r--sys-libs/libomp/libomp-3.9.0.ebuild2
2 files changed, 37 insertions, 0 deletions
diff --git a/sys-libs/libomp/files/libomp-3.9.0-musl-strerror_r.patch b/sys-libs/libomp/files/libomp-3.9.0-musl-strerror_r.patch
new file mode 100644
index 000000000000..4fbf9f691c05
--- /dev/null
+++ b/sys-libs/libomp/files/libomp-3.9.0-musl-strerror_r.patch
@@ -0,0 +1,35 @@
+From 4fa7d5e207a4f7ef79b423b7d9658b7625795f5c Mon Sep 17 00:00:00 2001
+From: Michal Gorny <mgorny@gentoo.org>
+Date: Tue, 18 Oct 2016 16:38:44 +0000
+Subject: [PATCH] Fix a compile error on musl-libc due to strerror_r()
+ prototype
+
+Function strerror_r() has different signatures in different
+implementations of libc: glibc's version returns a char*, while BSDs
+and musl return a int. libomp unconditionally assumes glibc on Linux
+and thus fails to compile against musl-libc. This patch addresses this
+issue.
+
+Differential Revision: https://reviews.llvm.org/D25071
+
+git-svn-id: https://llvm.org/svn/llvm-project/openmp/trunk@284492 91177308-0d34-0410-b5e6-96231b3b80d8
+---
+ runtime/src/kmp_i18n.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/runtime/src/kmp_i18n.c b/runtime/src/kmp_i18n.c
+index 546e693..e008d1f 100644
+--- a/runtime/src/kmp_i18n.c
++++ b/runtime/src/kmp_i18n.c
+@@ -809,7 +809,7 @@ sys_error(
+ int strerror_r( int, char *, size_t ); // XSI version
+ */
+
+- #if KMP_OS_LINUX
++ #if defined(__GLIBC__) && defined(_GNU_SOURCE)
+
+ // GNU version of strerror_r.
+
+--
+2.10.1
+
diff --git a/sys-libs/libomp/libomp-3.9.0.ebuild b/sys-libs/libomp/libomp-3.9.0.ebuild
index ed972e831f65..dad69636c3e5 100644
--- a/sys-libs/libomp/libomp-3.9.0.ebuild
+++ b/sys-libs/libomp/libomp-3.9.0.ebuild
@@ -27,6 +27,8 @@ S="${WORKDIR}/${MY_P}.src"
PATCHES=(
# backport of https://reviews.llvm.org/D24563
"${FILESDIR}"/${PN}-3.9.0-optional-aliases.patch
+ # backport of https://reviews.llvm.org/D25071
+ "${FILESDIR}"/${PN}-3.9.0-musl-strerror_r.patch
)
multilib_src_configure() {