Hello community, here is the log from the commit of package pocl for openSUSE:Factory checked in at 2018-11-08 09:48:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pocl (Old) and /work/SRC/openSUSE:Factory/.pocl.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pocl" Thu Nov 8 09:48:23 2018 rev:17 rq:646209 version:1.2 Changes: -------- --- /work/SRC/openSUSE:Factory/pocl/pocl.changes 2018-09-25 15:45:59.657061672 +0200 +++ /work/SRC/openSUSE:Factory/.pocl.new/pocl.changes 2018-11-08 09:48:30.913098060 +0100 @@ -1,0 +2,6 @@ +Wed Oct 31 12:13:35 UTC 2018 - Bernhard Wiedemann <bwiedem...@suse.com> + +- Add reproducible.patch to make build result independent of + build system CPU (boo#1110722) + +------------------------------------------------------------------- New: ---- reproducible.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pocl.spec ++++++ --- /var/tmp/diff_new_pack.JXiOJF/_old 2018-11-08 09:48:31.409097476 +0100 +++ /var/tmp/diff_new_pack.JXiOJF/_new 2018-11-08 09:48:31.409097476 +0100 @@ -30,6 +30,7 @@ URL: http://portablecl.org/ Source0: https://github.com/pocl/pocl/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source99: pocl-rpmlintrc +Patch0: reproducible.patch BuildRequires: clang < 8 BuildRequires: clang-devel < 8 BuildRequires: cmake @@ -94,6 +95,7 @@ %prep %setup -q +%patch0 -p1 %build %define __builder ninja ++++++ reproducible.patch ++++++ https://bugzilla.opensuse.org/show_bug.cgi?id=1110722 commit e99f4ca98bee7c59d8869a1b1d0aa764ffd5ec28 Author: Michal Babej <michal.ba...@tut.fi> Date: Thu Oct 11 13:16:43 2018 +0300 Fix PR #667 diff --git a/lib/CL/devices/basic/basic.c b/lib/CL/devices/basic/basic.c index a64680f0..048f0008 100644 --- a/lib/CL/devices/basic/basic.c +++ b/lib/CL/devices/basic/basic.c @@ -354,9 +354,6 @@ pocl_init_cpu_device_infos (cl_device_id dev) dev->llvm_cpu = get_llvm_cpu_name (); #endif - if(dev->llvm_cpu && (!strcmp(dev->llvm_cpu, "(unknown)"))) - dev->llvm_cpu = OCL_KERNEL_TARGET_CPU; - #else /* No compiler, no CPU info */ dev->llvm_cpu = NULL; dev->llvm_target_triplet = ""; diff --git a/lib/CL/pocl_llvm_build.cc b/lib/CL/pocl_llvm_build.cc index fda6e3a2..7b7001f8 100644 --- a/lib/CL/pocl_llvm_build.cc +++ b/lib/CL/pocl_llvm_build.cc @@ -839,16 +839,14 @@ static llvm::Module* getKernelLibrary(cl_device_id device) kernellib += device->llvm_target_triplet; if (is_host) { kernellib += '-'; +#ifdef KERNELLIB_HOST_DISTRO_VARIANTS + kernellib += getX86KernelLibName(); +#else kernellib_fallback = kernellib; kernellib_fallback += OCL_KERNEL_TARGET_CPU; kernellib_fallback += ".bc"; -#ifdef KERNELLIB_HOST_DISTRO_VARIANTS - if (triple.getArch() == Triple::x86_64 || - triple.getArch() == Triple::x86) - kernellib += getX86KernelLibName(); - else + kernellib += device->llvm_cpu; #endif - kernellib += device->llvm_cpu; } kernellib += ".bc"; @@ -861,6 +859,7 @@ static llvm::Module* getKernelLibrary(cl_device_id device) } else { +#ifndef KERNELLIB_HOST_DISTRO_VARIANTS if (is_host && pocl_exists(kernellib_fallback.c_str())) { POCL_MSG_WARN("Using fallback %s as the built-in lib.\n", @@ -868,6 +867,7 @@ static llvm::Module* getKernelLibrary(cl_device_id device) lib = parseModuleIR(kernellib_fallback.c_str()); } else +#endif POCL_ABORT("Kernel library file %s doesn't exist.\n", kernellib.c_str()); } assert (lib != NULL); diff --git a/lib/CL/pocl_llvm_utils.cc b/lib/CL/pocl_llvm_utils.cc index feb88424..163304fe 100644 --- a/lib/CL/pocl_llvm_utils.cc +++ b/lib/CL/pocl_llvm_utils.cc @@ -134,11 +134,13 @@ get_llvm_cpu_name () } #endif +#ifndef KERNELLIB_HOST_DISTRO_VARIANTS if (r.str() == "generic") { POCL_MSG_WARN("LLVM does not recognize your cpu, trying to use " OCL_KERNEL_TARGET_CPU " for -target-cpu\n"); r = llvm::StringRef(OCL_KERNEL_TARGET_CPU); } +#endif assert(r.size() > 0); char *cpu_name = (char *)malloc(r.size() + 1);