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);

Reply via email to