!2 ocl-icd fix build error with gcc 10
From: @si-gui Reviewed-by: @overweight Signed-off-by: @overweight
This commit is contained in:
commit
06886f610b
41
ocl-icd-fix-build-error-with-gcc-10.patch
Normal file
41
ocl-icd-fix-build-error-with-gcc-10.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
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(-)
|
||||||
|
|
||||||
|
diff --git a/icd_generator.rb b/icd_generator.rb
|
||||||
|
index d299dbd..6bd426d 100644
|
||||||
|
--- a/icd_generator.rb
|
||||||
|
+++ b/icd_generator.rb
|
||||||
|
@@ -189,7 +189,7 @@ EOF
|
||||||
|
}
|
||||||
|
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"
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.30.0
|
||||||
@ -1,12 +1,13 @@
|
|||||||
Name: ocl-icd
|
Name: ocl-icd
|
||||||
Version: 2.2.12
|
Version: 2.2.12
|
||||||
Release: 1
|
Release: 2
|
||||||
Summary: OpenCL ICD Bindings
|
Summary: OpenCL ICD Bindings
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: https://github.com/OCL-dev/ocl-icd
|
URL: https://github.com/OCL-dev/ocl-icd
|
||||||
Source0: https://github.com/OCL-dev/ocl-icd/archive/v%{version}.tar.gz
|
Source0: https://github.com/OCL-dev/ocl-icd/archive/v%{version}.tar.gz
|
||||||
|
|
||||||
BuildRequires: gcc automake autoconf make libtool opencl-headers ruby rubygems
|
BuildRequires: gcc automake autoconf make libtool opencl-headers ruby rubygems
|
||||||
|
Patch0001: ocl-icd-fix-build-error-with-gcc-10.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
%{summary}.
|
%{summary}.
|
||||||
@ -18,7 +19,7 @@ Requires: %{name}%{?_isa} = %{version}-%{release} opencl-headers
|
|||||||
This package contains the development files for %{name}.
|
This package contains the development files for %{name}.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup
|
%autosetup -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -vfi
|
autoreconf -vfi
|
||||||
@ -47,5 +48,8 @@ make check
|
|||||||
%{_libdir}/pkgconfig/OpenCL.pc
|
%{_libdir}/pkgconfig/OpenCL.pc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri 30 Jul 2021 sunguoshuai <sunguoshuai@huawei.com> - 2.2.12-2
|
||||||
|
- ocl-icd fix build error with gcc 10
|
||||||
|
|
||||||
* Mon Jul 27 2020 maminjie <maminjie1@huawei.com> - 2.2.12-1
|
* Mon Jul 27 2020 maminjie <maminjie1@huawei.com> - 2.2.12-1
|
||||||
- package init
|
- package init
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user