diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2020-03-21 23:30:48 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2020-03-21 23:30:48 +0000 |
commit | 3b0142eada144a18e5d1bc521b36ae274e0056d7 (patch) | |
tree | 87fe81253f8738eedc4d6f650320cb30c9b1dc7d /dev-libs/ocl-icd | |
parent | profiles/features/musl/package.mask: mask sys-auth/libnss-nis (diff) | |
download | gentoo-3b0142eada144a18e5d1bc521b36ae274e0056d7.tar.gz gentoo-3b0142eada144a18e5d1bc521b36ae274e0056d7.tar.bz2 gentoo-3b0142eada144a18e5d1bc521b36ae274e0056d7.zip |
dev-libs/ocl-icd: tweak for gcc-10, bug #706098
Reported-by: Anthony Parsons
Closes: https://bugs.gentoo.org/706098
Package-Manager: Portage-2.3.94, Repoman-2.3.21
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'dev-libs/ocl-icd')
-rw-r--r-- | dev-libs/ocl-icd/files/ocl-icd-2.2.12-gcc-10.patch | 39 | ||||
-rw-r--r-- | dev-libs/ocl-icd/ocl-icd-2.2.12-r1.ebuild | 2 |
2 files changed, 41 insertions, 0 deletions
diff --git a/dev-libs/ocl-icd/files/ocl-icd-2.2.12-gcc-10.patch b/dev-libs/ocl-icd/files/ocl-icd-2.2.12-gcc-10.patch new file mode 100644 index 000000000000..64948d5b05e3 --- /dev/null +++ b/dev-libs/ocl-icd/files/ocl-icd-2.2.12-gcc-10.patch @@ -0,0 +1,39 @@ +https://bugs.gentoo.org/706098 + +From 4667bddd365bcc1dc66c483835971f0083b44b1d Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyfox@gentoo.org> +Date: Wed, 22 Jan 2020 19:38:23 +0000 +Subject: [PATCH] icd_generator.rb: fix build failure against gcc-10 + +On gcc-10 (and gcc-9 -fno-common) build fails as: + +``` +libtool: link: gcc -shared -fPIC -DPIC .libs/libdummy_icd.o .libs/libdummy_icd_gen.o \ + -ldl -g -O2 -Wl,-soname -Wl,libdummycl.so.0 -o .libs/libdummycl.so.0.0.0 +ld: .libs/libdummy_icd_gen.o:/home/slyfox/dev/git/ocl-icd/libdummy_icd_gen.h:226: + multiple definition of `master_dispatch'; .libs/libdummy_icd.o:/home/slyfox/dev/git/ocl-icd/libdummy_icd_gen.h:226: first defined here +``` + +gcc-10 will change the default from -fcommon to fno-common: +https://gcc.gnu.org/PR85678. + +The error also happens if CFLAGS=-fno-common passed explicitly. + +Reported-by: Anthony Parsons +Bug: https://bugs.gentoo.org/706098 +Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> +--- + icd_generator.rb | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/icd_generator.rb ++++ b/icd_generator.rb +@@ -207,7 +207,7 @@ def self.generate_libdummy_icd_header + } + libdummy_icd_structures += "};\n\n" + libdummy_icd_structures += "#pragma GCC visibility push(hidden)\n\n" +- libdummy_icd_structures += "struct _cl_icd_dispatch master_dispatch; \n\n" ++ libdummy_icd_structures += "extern struct _cl_icd_dispatch master_dispatch; \n\n" + $use_name_in_test.each { |k, f| + libdummy_icd_structures += "typeof(#{f}) INT#{f};\n" + } diff --git a/dev-libs/ocl-icd/ocl-icd-2.2.12-r1.ebuild b/dev-libs/ocl-icd/ocl-icd-2.2.12-r1.ebuild index aebd6ac1e7e9..3142ef64c659 100644 --- a/dev-libs/ocl-icd/ocl-icd-2.2.12-r1.ebuild +++ b/dev-libs/ocl-icd/ocl-icd-2.2.12-r1.ebuild @@ -18,6 +18,8 @@ IUSE="+khronos-headers" BDEPEND="${RUBY_DEPS}" RDEPEND="app-eselect/eselect-opencl" +PATCHES=("${FILESDIR}"/${P}-gcc-10.patch) + src_prepare() { replace-flags -Os -O2 # bug 646122 |