pocl (1.8-1) unstable; urgency=medium
authorAndreas Beckmann <anbe@debian.org>
Fri, 15 Oct 2021 16:22:36 +0000 (17:22 +0100)
committerAndreas Beckmann <anbe@debian.org>
Fri, 15 Oct 2021 16:22:36 +0000 (17:22 +0100)
  * New upstream release.
  * Refresh patches.
  * Update symbols file for amd64 and i386.

[dgit import unpatched pocl 1.8-1]

36 files changed:
1  2 
debian/changelog
debian/clean
debian/control
debian/copyright
debian/libpocl-dev.install
debian/libpocl2-common.install
debian/libpocl2.install
debian/libpocl2.lintian-overrides
debian/libpocl2.symbols
debian/patches/0001-Tweaks.patch
debian/patches/1001-stop-building-libllvmopencl.so-which-is-no-longer-us.patch
debian/patches/1014-add-POCL_EXPORT-to-additional-symbols-needed-by-the-.patch
debian/patches/1015-add-POCL_EXPORT-to-additional-symbols-needed-if-hard.patch
debian/patches/2001-add-testcase-for-Debian-bug-975931.patch
debian/patches/2002-link-against-single-shared-libclang-cpp-when-buildin.patch
debian/patches/2003-restore-setting-unroll-threshold-on-LLVM-9.patch
debian/patches/cl_ext_pocl.patch
debian/patches/distro.patch
debian/patches/generic-cpu.patch
debian/patches/series
debian/patches/skip-subdevice-tests-on-single-core-cpus.patch
debian/patches/test_printf.patch
debian/patches/test_structs_as_args.patch
debian/patches/timeout.patch
debian/patches/use-system-CL-headers.patch
debian/patches/verbose.patch
debian/pocl-doc.doc-base
debian/pocl-doc.docs
debian/pocl-opencl-icd.docs
debian/pocl-opencl-icd.install
debian/pocl-opencl-icd.lintian-overrides
debian/rules
debian/source/format
debian/source/lintian-overrides
debian/upstream/metadata
debian/watch

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d2d02ccb7ca359ef68b4a101c160aae2d7e94808
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,834 @@@
++pocl (1.8-1) unstable; urgency=medium
++
++  * New upstream release.
++  * Refresh patches.
++  * Update symbols file for amd64 and i386.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 15 Oct 2021 18:22:36 +0200
++
++pocl (1.7-2) unstable; urgency=medium
++
++  * Work around getconf on qemu/riscv64 returning 'undefined', thanks to
++    Alexandre Ghiti.  (Closes: #994797) (LP: #1942895)
++  * Bump Standards-Version to 4.6.0, no changes needed.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Thu, 30 Sep 2021 18:07:33 +0200
++
++pocl (1.7-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Thu, 03 Jun 2021 01:58:27 +0200
++
++pocl (1.6-5) unstable; urgency=medium
++
++  * Stop building libllvmopencl.so which is no longer used since 0.14.
++  * Build with -fvisibility=hidden.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 16 Feb 2021 11:00:57 +0100
++
++pocl (1.6-4) unstable; urgency=medium
++
++  * Restore setting unroll-threshold on LLVM 9 to avoid kernel/test_rotate
++    hanging on avx512 capable cpus.  (Closes: #980626)
++  * Kill hanging tests after 30 minutes.
++  * Let dh_shlibdeps find libpocl-devices-basic.so.
++  * Do not use the embedded copy of the OpenCL headers.
++  * Build with -fvisibility-inlines-hidden.
++  * Drop hidden symbols.
++  * Bump Standards-Version to 4.5.1, no changes needed.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 03 Feb 2021 21:21:03 +0100
++
++pocl (1.6-3) unstable; urgency=medium
++
++  * Update symbols file.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 05 Jan 2021 02:08:00 +0100
++
++pocl (1.6-2) experimental; urgency=medium
++
++  * Build with -DHARDENING_ENABLE=ON.
++  * Update symbols file for amd64 and i386.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 28 Dec 2020 23:50:16 +0100
++
++pocl (1.6-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Refresh/remove patches.
++  * Add testcase for bug #975931.
++  * Revert to llvm 9.  (Reopens: #974797)
++  * Reintroduce "visibility hidden" to expose less internal symbols.
++  * Update symbols file for amd64 and i386.
++
++ -- Andreas Beckmann <anbe@debian.org>  Thu, 24 Dec 2020 04:19:57 +0100
++
++pocl (1.5-8) experimental; urgency=medium
++
++  * Cherry-pick upstream commits for llvm 11 support and some bugfixes.
++  * Switch to llvm 11.  (Closes: #974797)
++  * Update symbols file for amd64 and i386.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 17 Nov 2020 17:08:26 +0100
++
++pocl (1.5-7) unstable; urgency=medium
++
++  * Switch to llvm 10.
++  * Update symbols file.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 16 Nov 2020 14:45:48 +0100
++
++pocl (1.5-6) unstable; urgency=medium
++
++  * Fix separate arch:all build in debhelper-compat 13 with
++    -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=OFF.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 29 Jul 2020 12:52:56 +0200
++
++pocl (1.5-5) unstable; urgency=medium
++
++  * Update symbols file.
++  * Switch to debhelper-compat (= 13).
++  * Fix typos found by Lintian.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 29 Jul 2020 02:18:39 +0200
++
++pocl (1.5-4) unstable; urgency=medium
++
++  * Rebuild with GCC 10.  (Closes: #957694)
++  * Update symbols file.
++
++ -- Andreas Beckmann <anbe@debian.org>  Thu, 23 Jul 2020 14:20:52 +0200
++
++pocl (1.5-3) unstable; urgency=medium
++
++  * Update symbols file.
++  * Cherry-pick upstream commit 90fdec99 to avoid unwanted dependency on
++    symbols from libOpenCL.so.1.  (Closes: #958700)
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 27 Apr 2020 00:46:54 +0200
++
++pocl (1.5-2) unstable; urgency=medium
++
++  * The bullseye toolchain defaults to linking with --as-needed.
++  * Link against shared libclang-cpp when building with llvm >= 9.
++  * Update symbols file for amd64 and i386.
++  * Reduce local memory safety margin to prevent the pthread device from
++    running out of memory during initialization. This affects 32-bit builds
++    on platforms with large caches and large corecount.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 17 Apr 2020 16:40:56 +0200
++
++pocl (1.5-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Refresh/remove patches.
++  * Update symbols file for amd64 and i386.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sat, 04 Apr 2020 18:43:38 +0200
++
++pocl (1.4-6) unstable; urgency=medium
++
++  * Update symbols files.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 05 Feb 2020 20:55:06 +0100
++
++pocl (1.4-5) experimental; urgency=medium
++
++  * Update symbols files.
++  * Switch to llvm 9.
++  * Bump Standards-Version to 4.5.0, no changes needed.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 31 Jan 2020 17:11:45 +0100
++
++pocl (1.4-4) unstable; urgency=medium
++
++  * Postpone clinfo failures after dh_makeshlibs, too.
++  * Work around add_test_pocl() ignoring SKIP_RETURN_CODE.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 28 Jan 2020 12:02:47 +0100
++
++pocl (1.4-3) unstable; urgency=medium
++
++  * Update symbols files.
++  * Fix clash with altivec macros on ppc64el.
++  * Skip subdevice tests on (virtual) single core CPUs.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sun, 19 Jan 2020 15:58:32 +0100
++
++pocl (1.4-2) experimental; urgency=medium
++
++  * Update symbols files.
++  * Switch to llvm 8.
++
++ -- Andreas Beckmann <anbe@debian.org>  Thu, 16 Jan 2020 03:03:18 +0100
++
++pocl (1.4-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Refresh/remove patches.
++  * Link kernels with libm to avoid missing fma/fmaf/... symbols.
++  * Ignore regression/struct_kernel_arguments failure on i686.
++  * Switch back to llvm 7 for now.
++  * Update symbols files for amd64 and i386.
++  * Fix build on GNU/hurd, thanks to Samuel Thibault.  (Closes: #947881)
++  * Update copyright holders and years.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sat, 04 Jan 2020 11:08:11 +0100
++
++pocl (1.3-10) unstable; urgency=medium
++
++  * Use upstream version of upstreamed patches.
++  * Backport "Use libdl directly" and related fixes from 1.4.
++    (Closes: #946582, #946422)
++  * Drop B-D on libltdl-dev.
++
++ -- Andreas Beckmann <anbe@debian.org>  Thu, 26 Dec 2019 23:19:15 +0100
++
++pocl (1.3-9) unstable; urgency=medium
++
++  * Bump Standards-Version to 4.4.1, no changes needed.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 09 Oct 2019 23:15:27 +0200
++
++pocl (1.3-8) experimental; urgency=medium
++
++  * Switch to llvm 8.
++  * Update symbols files for amd64 and i386.
++  * Backport "Fixes to global memory size detection" from 1.4.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 25 Sep 2019 00:48:51 +0200
++
++pocl (1.3-7) unstable; urgency=medium
++
++  * Try a fix for allocation limit computation on kfreebsd-i386.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 24 Sep 2019 00:55:41 +0200
++
++pocl (1.3-6) experimental; urgency=medium
++
++  * Update symbols files.
++  * Ignore workgroup/loop_with_two_paths_to_the_latch_LOOPS failures.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sat, 14 Sep 2019 19:49:14 +0200
++
++pocl (1.3-5) experimental; urgency=medium
++
++  * Switch to llvm 7, again.  (Closes: #912793, #932707)
++  * Update symbols files for amd64 and i386.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 27 Aug 2019 18:35:12 +0200
++
++pocl (1.3-4) unstable; urgency=medium
++
++  * Enable --exclude-libs on kFreeBSD.
++  * Tune symbols files.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 06 Sep 2019 23:13:34 +0200
++
++pocl (1.3-3) unstable; urgency=medium
++
++  * Rebuild with gcc 9.
++  * Update symbols files for amd64 and i386.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sat, 24 Aug 2019 07:37:21 +0200
++
++pocl (1.3-2) unstable; urgency=medium
++
++  * Update symbols files.
++  * Bump Standards-Version to 4.4.0, no changes needed.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sun, 14 Jul 2019 15:35:36 +0200
++
++pocl (1.3-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Refresh/remove patches.
++  * Switch back to llvm 6.0 for now.
++  * Update symbols files for amd64 and i386.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sat, 13 Jul 2019 13:33:22 +0200
++
++pocl (1.2-10) experimental; urgency=medium
++
++  * Switch to llvm 7.  (Closes: #912793)
++  * Update symbols files.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 11 Feb 2019 16:56:57 +0100
++
++pocl (1.2-5) unstable; urgency=medium
++
++  * Disable dh_dwz which fails on 32-bit platforms, see #918903.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 05 Feb 2019 00:39:59 +0100
++
++pocl (1.2-4) unstable; urgency=medium
++
++  * Cherry-pick upstream "Fix kernel debug data emission".  (Closes: #919824)
++  * Switch to debhelper-compat (= 12).
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 04 Feb 2019 16:08:38 +0100
++
++pocl (1.2-3) experimental; urgency=medium
++
++  * kernel/test_printf: Add more tests.
++  * Perform compile test to select -march or -mcpu for clang.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 21 Jan 2019 01:34:24 +0100
++
++pocl (1.2-2) unstable; urgency=medium
++
++  * Update symbols files.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 15 Jan 2019 16:55:49 +0100
++
++pocl (1.2-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Remove patches that were applied upstream.
++  * Cherry-pick upstream commit fixing LINK_WITH_CLANG.
++  * Do not link with --rtlib=compiler-rt at all.
++  * Ignore kernel/test_printf failure on i686.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 11 Jan 2019 19:49:24 +0100
++
++pocl (1.2~rc2-1) experimental; urgency=medium
++
++  * New upstream release candidate.
++  * Refresh/remove patches.
++  * Update symbols files for amd64 and i386.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 07 Sep 2018 19:14:21 +0200
++
++pocl (1.1-9) unstable; urgency=medium
++
++  * Drop unused deprecated module 'sphinx.ext.pngmath'.  (Closes: #918828)
++  * Update symbols files.
++
++ -- Andreas Beckmann <anbe@debian.org>  Thu, 10 Jan 2019 00:56:33 +0100
++
++pocl (1.1-8) unstable; urgency=medium
++
++  * Update symbols files.  (Closes: #916024)
++  * Fix building in armel chroot on arm64 host.  (Closes: #917244)
++  * Switch to debhelper-compat (= 11).
++  * Bump Standards-Version to 4.3.0, no changes needed.
++  * Update Lintian overrides.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 08 Jan 2019 13:04:26 +0100
++
++pocl (1.1-7) unstable; urgency=medium
++
++  * Update symbols files.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 07 Sep 2018 16:04:52 +0200
++
++pocl (1.1-6) experimental; urgency=medium
++
++  * pocl-opencl-icd: Mark as Multi-Arch: same.
++  * Fix building in armhf chroot on arm64 host.
++  * Bump Standards-Version to 4.2.1, no changes needed.
++  * Update symbols files.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Thu, 06 Sep 2018 14:11:03 +0200
++
++pocl (1.1-5) unstable; urgency=medium
++
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 09 Apr 2018 14:42:39 +0200
++
++pocl (1.1-4) experimental; urgency=medium
++
++  * Run clinfo during testing.
++  * Do not link with --rtlib=compiler-rt on non-x86.  (Closes: #892426)
++  * Prevent PIC/no-PIC option clash on mips64el.
++  * Set target cpu for armel to arm946e-s (arch=armv5te).
++  * Set target cpu for armhf to arm1156t2f-s (arch=armv6t2) with
++    -mfpu=vfp3-d16. Probably suboptimal (should rather be arch=armv7-a without
++    neon,vfp4), but passes all tests.  (Closes: #888063)
++  * Bump Standards-Version to 4.1.4, no changes needed.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 06 Apr 2018 19:39:01 +0200
++
++pocl (1.1-3) experimental; urgency=medium
++
++  * Add support for building for the GENERIC cpu, i.e. llvm defaults.
++  * Build with -DLLC_HOST_CPU=GENERIC on most architectures.
++  * Build with -DKERNELLIB_HOST_CPU_VARIANTS=distro on amd64.
++  * Switch to llvm 6.0.  (Closes: #892428)
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 27 Mar 2018 13:12:40 +0200
++
++pocl (1.1-2) experimental; urgency=medium
++
++  * Switch to llvm 5.0.
++  * Update symbols files for amd64 and i386.
++  * Cherry-pick upstream commits for libhwloc 2.0 support.
++  * Cherry-pick upstream commit fixing test_clCreateSubDevices with 3 CUs.
++  * Cherry-pick upstream commit fixing reported values of native/preferred
++    vector width for unsupported types.
++  * pocl-doc: Mark as Multi-Arch: foreign.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sun, 25 Mar 2018 17:35:44 +0200
++
++pocl (1.1-1) unstable; urgency=medium
++
++  * New upstream release.
++  * Remove patches, applied or fixed upstream.
++  * Remove -DFORCE_OCL_KERNEL_TARGET_CPU=ON, fixed upstream.
++  * Report the error code on test failure.
++  * Point watch file to git tags on github.
++  * Add debian/upstream/metadata.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sat, 10 Mar 2018 00:37:43 +0100
++
++pocl (1.1~rc2-1) experimental; urgency=medium
++
++  * New upstream release candidate.  (Closes: #888062)
++  * Remove patches that were applied upstream.
++  * Update symbols files.
++  * Do not attempt to run the testsuite during an arch-indep build.
++  * Set LLVM_ARCH for arm64, armel, armhf to generic.
++  * Set LLVM_ARCH for s390x to z10.  (Closes: #888064)
++  * Drop internal helper library packages libpoclu-dev and libpoclu2.
++  * Add altivec.patch to get rid of the conflicting bool and vector macros
++    from altivec.h.  (Closes: #764561)
++  * Update Lintian overrides.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 27 Feb 2018 17:31:09 +0100
++
++pocl (1.0-2) unstable; urgency=medium
++
++  * Merge changes from 0.14-7.
++  * Build with SLEEF instead of VECMATHLIB.
++  * HACK: Ignore test failure for kernel/test_fabs on i386.
++  * Add and use new CMake option -DFORCE_OCL_KERNEL_TARGET_CPU=ON.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 19 Jan 2018 01:11:11 +0100
++
++pocl (1.0-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Refresh/remove patches.
++  * Build with -DPOCL_ICD_ABSOLUTE_PATH=OFF.
++  * Rename library packages for SOVERSION bump: 1 => 2.
++  * Update symbols files for amd64 and i386.
++  * Build with -DENABLE_VECMATHLIB=ON.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 17 Jan 2018 14:13:19 +0100
++
++pocl (0.14-7) unstable; urgency=medium
++
++  * Switch to llvm 4.0.  (Closes: #873417)
++  * Update symbols files for amd64 and i386.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 17 Jan 2018 18:36:08 +0100
++
++pocl (0.14-6) unstable; urgency=medium
++
++  * Switch to debhelper compat level 11.
++  * Bump Standards-Version to 4.1.3, no changes needed.
++  * Switch Vcs-* to salsa.debian.org.
++  * Remove superfluous patches.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 17 Jan 2018 06:13:22 +0100
++
++pocl (0.14-5) unstable; urgency=medium
++
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 18 Dec 2017 01:44:17 +0100
++
++pocl (0.14-4) experimental; urgency=medium
++
++  * Switch to llvm 3.9.
++  * Update symbols files for amd64 and i386.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sat, 16 Dec 2017 05:24:25 +0100
++
++pocl (0.14-3) experimental; urgency=medium
++
++  * Cherry-pick upstream [c9d2cd15] "llvm/Flatten: switch back to
++    force-inlining only some funcs", fixing kernel/test_convert_type_* failing
++    on i386 with LLC_HOST_CPU=i686.
++  * Switch LLC_HOST_CPU from "pentium3" to the correct baseline "i686" on
++    i386.
++  * kernel/test_printf actually passes on i386 with LLC_HOST_CPU=i686.
++  * Only override POCL_CACHE_DIR for the testsuite, not HOME.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 15 Dec 2017 07:08:32 +0100
++
++pocl (0.14-2) experimental; urgency=medium
++
++  * Cherry-pick upstream [62b74d6f] "Fix malloc size in tests/runtime/
++    test_clBuildProgram.c", fixing runtime/clBuildProgram failing frequently
++    on i386.
++  * Try to guess the minimal cpu for more architectures.
++
++ -- Andreas Beckmann <anbe@debian.org>  Thu, 14 Dec 2017 01:37:41 +0100
++
++pocl (0.14-1) experimental; urgency=medium
++
++  * New upstream release.
++  * The autotools based build system is gone.
++  * Refresh/remove patches.
++  * Use the CMAKE_INSTALL_SYSCONFDIR setting for /etc.
++  * Update symbols files.
++  * Update copyright holders and years.
++  * Remove pocl-standalone(1) manpage. The binary is no longer shipped.
++  * Ship the new poclcc binary in libpocl-dev.
++  * Do not downgrade to -std=c++11, fixing test_fabs failing on i386.
++    (Closes: #883613)
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 12 Dec 2017 03:48:35 +0100
++
++pocl (0.13-14) unstable; urgency=medium
++
++  * Bump Standards-Version to 4.1.2, no changes needed.
++  * cmake-no-get_cpu_name.patch: Rename/redo as
++    cmake-no-llvm-sys-getHostCPUName.patch to not use
++    llvm::sys::getHostCPUName().
++  * Clean up generated include/CL/cl.hpp* to fix building twice in a row.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 08 Dec 2017 18:55:52 +0100
++
++pocl (0.13-13) experimental; urgency=medium
++
++  * Fix cmake i386 detection, thanks to James Price.  (Closes: #882875)
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 28 Nov 2017 03:04:06 +0100
++
++pocl (0.13-12) experimental; urgency=medium
++
++  * Switch to cmake build system.
++  * llvmopencl.so.7 is now a private library.  (Closes: #823528)
++  * cmake-no-fno-rtti.patch: Build without -fno-rtti (a workaround for
++    clang-3.7), like autotools, to avoid symbol changes.
++  * cmake-no-get_cpu_name.patch: Do not use get_cpu_name(), makes some tests
++    fail.
++  * cmake-forcibly-link-regtests-with-pthread.patch: Link regression tests
++    with -lpthread unconditionally, otherwise test_issue_231 fails.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 27 Nov 2017 16:01:58 +0100
++
++pocl (0.13-11) unstable; urgency=medium
++
++  * Add Built-Using control field for linking against static clang libraries.
++  * do-not-export-clang-symbols.patch: Link static clang libraries with
++    --exclude-libs to not export their symbols.
++  * Update symbols files.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sun, 26 Nov 2017 19:22:48 +0100
++
++pocl (0.13-10) unstable; urgency=medium
++
++  * Update symbols files.
++  * Bump Standards-Version to 4.1.1, no changes needed.
++  * Use dpkg makefile snippets instead of parsing the changelog manually.
++  * Switch B-D-I: python-sphinx to python3-sphinx.
++  * Set Rules-Requires-Root: no.
++  * set-POCL_DEVICE_ADDRESS_BITS-before-use.patch: Fix use-before-init in
++    CMakeLists.txt causing i386 to be misdetected as x86_64.
++  * Do not export libOpenCL.so.1 symbols.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sat, 25 Nov 2017 21:03:13 +0100
++
++pocl (0.13-9) unstable; urgency=medium
++
++  * Work around using clang-3.8 with libstdc++-7-dev.  (Closes: #853620)
++  * Update symbols files.
++  * Switch to debhelper compat level 10.
++  * Bump Standards-Version to 4.0.1.
++  * Raise Priority to optional.
++  * Support nodoc build.
++  * Do not mark the -dev packages as Multi-Arch: foreign.
++  * Move kernel-<triplet>.bc from libpocl1-common into libpocl1.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 07 Aug 2017 04:57:35 +0200
++
++pocl (0.13-8) unstable; urgency=medium
++
++  * Enable more hardening.
++  * Reduce superfluous dependencies by linking with --as-needed.
++  * Update symbols files.
++  * Update lintian overrides.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 10 Oct 2016 13:38:39 +0200
++
++pocl (0.13-7) unstable; urgency=medium
++
++  * Update symbols files.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 09 Sep 2016 19:51:19 +0200
++
++pocl (0.13-6) unstable; urgency=medium
++
++  * Update symbols files.  (Closes: #835690, #836219)
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 06 Sep 2016 14:55:01 +0200
++
++pocl (0.13-5) unstable; urgency=medium
++
++  * Build-depend on the llvm-3.8 release version.
++  * Update symbols files.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 11 Jul 2016 04:24:40 +0200
++
++pocl (0.13-4) unstable; urgency=medium
++
++  * Use CLOCK_UPTIME_FAST on kFreeBSD.
++  * Update symbols files.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sun, 03 Jul 2016 16:17:52 +0200
++
++pocl (0.13-3) experimental; urgency=medium
++
++  * Switch to llvm 3.8.
++  * Update symbols files for amd64 and i386.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 22 Jun 2016 14:37:21 +0200
++
++pocl (0.13-2) unstable; urgency=medium
++
++  * Update symbols files.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 22 Jun 2016 11:40:19 +0200
++
++pocl (0.13-1) experimental; urgency=medium
++
++  * New upstream release.  (Closes: #820480)
++  * Refresh llvm-system-libs.patch, new upstream only supports llvm 3.7/3.8.
++  * Remove fix-image-args.patch, fixed upstream.
++  * glibc-2.23.patch: New, add support for glibc 2.23.
++  * Update symbols files for amd64 and i386.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 15 Jun 2016 18:55:21 +0200
++
++pocl (0.12-6) unstable; urgency=medium
++
++  * Update symbols files.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 14 Jun 2016 20:11:10 +0200
++
++pocl (0.12-5) experimental; urgency=medium
++
++  * Switch to llvm 3.7.
++  * Update symbols files for amd64 and i386.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Thu, 09 Jun 2016 10:26:04 +0200
++
++pocl (0.12-4) unstable; urgency=medium
++
++  * Update symbols files.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 08 Jun 2016 02:36:14 +0200
++
++pocl (0.12-3) unstable; urgency=medium
++
++  * Fix OpenCL headers for GNU/Hurd.
++  * Update symbols files.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sat, 28 May 2016 17:17:37 +0200
++
++pocl (0.12-2) experimental; urgency=medium
++
++  * Add B-D: sphinx-common for binary-arch builds with 'dh --with sphinxdoc'.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 10 May 2016 20:32:16 +0200
++
++pocl (0.12-1) experimental; urgency=medium
++
++  * New upstream release.
++  * Refresh patches.
++  * Update symbols files for amd64 and i386.
++  * Upload to experimental.
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 09 May 2016 14:44:03 +0200
++
++pocl (0.11-5) unstable; urgency=medium
++
++  * Work around clang failing to find sys/cdefs.h on !linux.
++
++ -- Andreas Beckmann <anbe@debian.org>  Fri, 27 May 2016 12:29:56 +0200
++
++pocl (0.11-4) unstable; urgency=medium
++
++  * Add B-D: sphinx-common for binary-arch builds with 'dh --with sphinxdoc'.
++
++ -- Andreas Beckmann <anbe@debian.org>  Tue, 17 May 2016 12:45:38 +0200
++
++pocl (0.11-3) unstable; urgency=medium
++
++  * Update symbols files.
++  * Provide documentation package (pocl-doc), thanks to Ghislain Vaillant.
++
++ -- Andreas Beckmann <anbe@debian.org>  Sun, 08 May 2016 02:57:38 +0200
++
++pocl (0.11-2) unstable; urgency=medium
++
++  * Make the B-D on clang versioned to match llvm.
++  * Drop superfluous B-D.
++  * Fix testsuite failure on i386.  (Closes: #822563)
++  * Switch back target cpu to pentium3 on any-i386.
++  * Fix arm64 detection.  (Closes: #787686)
++  * Move libpocl1-common to section utils.
++  * Upload to unstable.
++
++ -- Andreas Beckmann <anbe@debian.org>  Wed, 27 Apr 2016 10:17:50 +0200
++
++pocl (0.11-1) experimental; urgency=medium
++
++  [ Vincent Danjean ]
++  * New upstream version  (Closes: #795321)
++  * Switch to llvm-3.6  (Closes: #803652)
++  * Fix "FTBFS on arm64" by targeting llvm arch to cortex-a53 on arm64
++    (Closes: #787686)
++  * Fix "vcs-browser field does not work" by fixing URL in debian/control
++    (Closes: #775844)
++
++  [ Andreas Beckmann ]
++  * Use a temporary, writable $HOME while running the testsuite.
++  * Show the full tests/testsuite.log on testsuite failures.
++  * Drop the -dbg package in favor of autogenerated -dbgsym packages.
++  * Update symbols files for amd64 and i386.
++  * llvm-config --system-libs is only needed with static llvm.
++  * Fix detection of image and sampler arguments, thanks to James Price.
++    (Closes: #799322)
++  * Put package under "Debian OpenCL Maintainers" team maintenance.
++  * Add Vincent Danjean and myself to Uploaders.
++  * Bump Standards-Version to 3.9.8 (no changes needed).
++
++ -- Andreas Beckmann <anbe@debian.org>  Mon, 25 Apr 2016 09:49:29 +0200
++
++pocl (0.10-12) experimental; urgency=medium
++
++  * Update again symbol file for armel
++  * apply partial fix for armhf (only one test fail, due to neon instruction)
++
++ -- Vincent Danjean <vdanjean@debian.org>  Sun, 02 Nov 2014 01:36:13 +0100
++
++pocl (0.10-11) experimental; urgency=medium
++
++  * Correctly fix FreeBSD include
++  * Update symbols file
++
++ -- Vincent Danjean <vdanjean@debian.org>  Mon, 27 Oct 2014 12:31:47 +0100
++
++pocl (0.10-10) unstable; urgency=medium
++
++  * fix symbol file (again), perhaps due to previous target adjustment
++  * trying pentium-m (for i386) and nehalem (for freebsd-i386) as
++    processor target
++
++ -- Vincent Danjean <vdanjean@debian.org>  Sat, 25 Oct 2014 22:32:40 +0200
++
++pocl (0.10-9) unstable; urgency=medium
++
++  * fix symbol file (again)
++  * lowering armhf llvm target (cortex-a5 instead of cortex-a7)
++    The good one should be ARMv7-A but it does not exist in LLVM
++    https://wiki.debian.org/ArmHardFloatPort
++  * bumping i386 target (from i686 to pentium4)
++    => some officially Debian supported i386 systems wont work with
++    pocl
++
++ -- Vincent Danjean <vdanjean@debian.org>  Fri, 24 Oct 2014 14:20:00 +0200
++
++pocl (0.10-8) unstable; urgency=medium
++
++  * fix symbol file for other architecture (!amd64)
++
++ -- Vincent Danjean <vdanjean@debian.org>  Fri, 24 Oct 2014 08:09:48 +0200
++
++pocl (0.10-7) unstable; urgency=medium
++
++  * bump minimum arch on i386 (from i586 to i686)
++  * to not ignore failed testsuite anymore at build time
++
++ -- Vincent Danjean <vdanjean@debian.org>  Wed, 22 Oct 2014 21:07:51 +0200
++
++pocl (0.10-6) unstable; urgency=medium
++
++  * Fix OpenCL headers for i386 FreeBSD
++  * use pkg-kde-tools to handle C++ symbols
++  * Try to support more Debian architectures.
++
++ -- Vincent Danjean <vdanjean@debian.org>  Wed, 22 Oct 2014 12:31:11 +0200
++
++pocl (0.10-5) unstable; urgency=medium
++
++  * Fix arm configure.ac detection
++  * try to support more Debian architectures
++
++ -- Vincent Danjean <vdanjean@debian.org>  Tue, 21 Oct 2014 14:50:28 +0200
++
++pocl (0.10-4) unstable; urgency=medium
++
++  * No need to provide utlist.h that is already provided in the uthash-dev
++    package (Closes: #764571)
++  * Fix some glitches in descriptions
++  * Remove old unneeded patches
++  * Add clang-3.5 dependency for libpocl1 (required when running a kernel)
++  * Fix default host CPU for the OpenCL compiler
++  * Add info in build logs to help debugging
++
++ -- Vincent Danjean <vdanjean@debian.org>  Fri, 10 Oct 2014 22:23:38 +0200
++
++pocl (0.10-3) unstable; urgency=medium
++
++  * Move the manpage in the correct package
++
++ -- Vincent Danjean <vdanjean@debian.org>  Wed, 08 Oct 2014 00:03:28 +0200
++
++pocl (0.10-2) unstable; urgency=medium
++
++  * Fix URLs, project name and update the copyright list
++    (initially created in 2012 with 0.7 version)
++
++ -- Vincent Danjean <vdanjean@debian.org>  Mon, 06 Oct 2014 23:22:34 +0200
++
++pocl (0.10-1) unstable; urgency=medium
++
++  * Initial release. (Closes: #676504: ITP: pocl -- Portable OpenCL)
++
++ -- Vincent Danjean <vdanjean@debian.org>  Sun, 05 Oct 2014 21:15:18 +0200
diff --cc debian/clean
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1bfc8417fc618cee1a848c8fe159dfb39bace556
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++build-doc/
++debian/kcache/
++debian/stamp-failed-testsuite
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2977f4149a2002dfc0dd4cddce101e2c8c7a4031
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,134 @@@
++Source: pocl
++Section: libs
++Priority: optional
++Maintainer: Debian OpenCL Maintainers <pkg-opencl-devel@lists.alioth.debian.org>
++Uploaders: Vincent Danjean <vdanjean@debian.org>,
++ Andreas Beckmann <anbe@debian.org>,
++Build-Depends:
++ debhelper-compat (= 13),
++ gcc (>= 4:10),
++ pkg-config,
++ libhwloc-dev,
++ ocl-icd-dev (>= 2.2.3),
++ ocl-icd-libopencl1 (>= 2.2.3),
++ ocl-icd-opencl-dev,
++ clang-9,
++ libclang-9-dev,
++ llvm-9-dev,
++ pkg-kde-tools,
++ cmake,
++ clinfo,
++Build-Depends-Indep:
++ dh-sequence-sphinxdoc,
++ python3-sphinx,
++Rules-Requires-Root: no
++Standards-Version: 4.6.0
++Homepage: http://portablecl.org
++Vcs-Browser: https://salsa.debian.org/opencl-team/pocl
++Vcs-Git: https://salsa.debian.org/opencl-team/pocl.git
++
++Package: pocl-opencl-icd
++Architecture: any
++Multi-Arch: same
++Depends:
++ libpocl2 (= ${binary:Version}),
++ ${misc:Depends}
++Provides:
++ opencl-icd,
++ opencl-icd-1.1-1,
++ opencl-icd-1.2-1,
++Description: pocl ICD
++ Portable Computing Language is an open source implementation of the OpenCL
++ standard which can be easily adapted for new targets. One of the goals of the
++ project is improving performance portability of OpenCL programs, avoiding the
++ need for target-dependent manual optimizations. A "native" target is included,
++ which allows running OpenCL kernels on the host (CPU).
++ .
++ This package allows one to use pocl as an installable client driver (ICD) for
++ OpenCL.
++
++Package: libpocl2-common
++Architecture: all
++Multi-Arch: foreign
++Section: utils
++Depends:
++ ${misc:Depends}
++Breaks:
++ libpocl1-common,
++Replaces:
++ libpocl1-common,
++Description: common files for the pocl library
++ Portable Computing Language is an open source implementation of the OpenCL
++ standard which can be easily adapted for new targets. One of the goals of the
++ project is improving performance portability of OpenCL programs, avoiding the
++ need for target-dependent manual optimizations. A "native" target is included,
++ which allows running OpenCL kernels on the host (CPU).
++ .
++ This package provides the architecture independent files of the pocl library.
++
++Package: libpocl2
++Architecture: any
++Multi-Arch: same
++Pre-Depends:
++ ${misc:Pre-Depends}
++Depends:
++ libpocl2-common (= ${source:Version}),
++ clang-${LLVM:Version},
++ ${shlibs:Depends},
++ ${misc:Depends}
++Recommends:
++ pocl-opencl-icd,
++Breaks:
++ libpocl1-common (<< 0.13-9),
++Replaces:
++ libpocl1-common (<< 0.13-9),
++Description: Portable Computing Language library
++ Portable Computing Language is an open source implementation of the OpenCL
++ standard which can be easily adapted for new targets. One of the goals of the
++ project is improving performance portability of OpenCL programs, avoiding the
++ need for target-dependent manual optimizations. A "native" target is included,
++ which allows running OpenCL kernels on the host (CPU).
++ .
++ This package provides the core of pocl.
++
++Package: libpocl-dev
++Architecture: any
++Section: libdevel
++Depends:
++ libpocl2 (= ${binary:Version}),
++ ${shlibs:Depends},
++ ${misc:Depends}
++Description: development files for the pocl library
++ Portable Computing Language is an open source implementation of the OpenCL
++ standard which can be easily adapted for new targets. One of the goals of the
++ project is improving performance portability of OpenCL programs, avoiding the
++ need for target-dependent manual optimizations. A "native" target is included,
++ which allows running OpenCL kernels on the host (CPU).
++ .
++ This package provides the development files for the pocl library. Unless very
++ specific needs, this package is useless. This package is only required to link
++ directly and explicitly with pocl.
++ .
++ To develop OpenCL programs (that can be run with pocl), the opencl-dev virtual
++ package (provided by ocl-icd-opencl-dev for example) is required, not this one.
++
++Package: pocl-doc
++Architecture: all
++Multi-Arch: foreign
++Section: doc
++Depends:
++ ${sphinxdoc:Depends},
++ ${misc:Depends}
++Built-Using: ${sphinxdoc:Built-Using}
++Description: documentation for the pocl library
++ Portable Computing Language is an open source implementation of the OpenCL
++ standard which can be easily adapted for new targets. One of the goals of the
++ project is improving performance portability of OpenCL programs, avoiding the
++ need for target-dependent manual optimizations. A "native" target is included,
++ which allows running OpenCL kernels on the host (CPU).
++ .
++ This package provides the development files for the pocl library.  Unless very
++ specific needs, this package is useless.  This package is only required to link
++ directly and explicitly with pocl.
++ .
++ This package provides the documentation for the pocl library.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..9ec09707a9ea271c0e7c2a7c7f263a558b71c7d9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,133 @@@
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: Portable Computing Language
++Source: http://portablecl.org/download.html
++
++Files: *
++Copyright: 2012-2020 pocl developers
++           2002-2019 Tampere University
++           2011-2012 Carlos Sánchez de La Lama
++           2011-2020 Pekka Jääskeläinen / Tampere University of Technology
++           2011-2014 Kalle Raiskila
++           2011-2014 Erik Schnetter
++           2011-2015 Ville Korhonen / Tampere University of Technology
++           2011-2015 Universidad Rey Juan Carlos
++           2012-2017 Christian Rau
++           2012      Cyril Roelandt
++           2012      Timo Viitanen
++           2013      Jesse Towner
++           2013      Kalray
++           2013      Victor Oliveira
++           2014-2016 Advanced Micro Devices, Inc.
++           2014      Felix Bytow
++           2014      Lassi Koskinen
++           2014-2015 Matias Koskela
++           2014-2018 Michal Babej
++           2015-2020 Giuseppe Bilotta
++           2016      Tom Gall
++           2016      Marc Andrysco
++           2016-2017 James Price
++           2017      Stephan Nolting
++           2018      Julius Ikkala
++           2020      Isuru Fernando
++License: Expat
++
++Files: include/utlist.h
++Copyright: 2007-2011, Troy D. Hanson   http://uthash.sourceforge.net
++License: Free-Software-2
++
++Files: include/CL/*.h*
++Copyright: 2008-2019 The Khronos Group Inc.
++License: Free-Software-3
++
++Files: lib/kernel/sleef/*
++Copyright: 2010-2017 Naoki Shibata
++           2010-2017 ARM Ltd.
++License: Boost-1.0
++
++Files: debian/*
++Copyright: 2012 Vincent Danjean <vdanjean@debian.org>
++           © 2016-2021 Andreas Beckmann <anbe@debian.org>
++License: Expat
++
++License: Expat
++ Permission is hereby granted, free of charge, to any person obtaining a copy
++ of this software and associated documentation files (the "Software"), to deal
++ in the Software without restriction, including without limitation the rights
++ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
++ copies of the Software, and to permit persons to whom the Software is
++ furnished to do so, subject to the following conditions:
++ .
++ The above copyright notice and this permission notice shall be included in
++ all copies or substantial portions of the Software.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
++ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
++ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
++ THE SOFTWARE.
++
++License: Free-Software-2
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are met:
++ .
++ * Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ .
++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
++ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
++ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
++ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
++ OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
++ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
++ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
++ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
++ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
++ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
++License: Free-Software-3
++ Permission is hereby granted, free of charge, to any person obtaining a
++ copy of this software and/or associated documentation files (the
++ "Materials"), to deal in the Materials without restriction, including
++ without limitation the rights to use, copy, modify, merge, publish,
++ distribute, sublicense, and/or sell copies of the Materials, and to
++ permit persons to whom the Materials are furnished to do so, subject to
++ the following conditions:
++ .
++ The above copyright notice and this permission notice shall be included
++ in all copies or substantial portions of the Materials.
++ .
++ THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
++ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
++ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
++ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
++ MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
++
++License: Boost-1.0
++ Boost Software License - Version 1.0 - August 17th, 2003
++ .
++ Permission is hereby granted, free of charge, to any person or organization
++ obtaining a copy of the software and accompanying documentation covered by
++ this license (the "Software") to use, reproduce, display, distribute,
++ execute, and transmit the Software, and to prepare derivative works of the
++ Software, and to permit third-parties to whom the Software is furnished to
++ do so, all subject to the following:
++ .
++ The copyright notices in the Software and this entire statement, including
++ the above license grant, this restriction and the following disclaimer,
++ must be included in all copies of the Software, in whole or in part, and
++ all derivative works of the Software, unless such copies or derivative
++ works are solely in the form of machine-executable object code generated by
++ a source language processor.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
++ SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
++ FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
++ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ DEALINGS IN THE SOFTWARE.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3919254260d6de7845df2111c16d5a0275dd610b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/bin
++usr/lib/*/libpocl.so
++usr/lib/*/pkgconfig/pocl.pc
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..a8e36eed4846299568b6adb158dbb0a41276f14e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/share/pocl/include
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6fc0cea9a438f4220b674109cfb54d97cf2c1050
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,3 @@@
++usr/lib/*/pocl
++usr/lib/*/libpocl.*so.*
++usr/share/pocl/*.bc
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6d898ada8cd46bc758fe2afa1c49f6fe9594980c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# we use fake Debian revisions to mark symbol (dis)appearance on compiler version changes
++symbols-file-contains-debian-revision
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d7967c83584e7d28c19c7b49adcaa0fd71f52020
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,178 @@@
++# SymbolsHelper-Confirmed: 1.8 amd64 i386
++libpocl-devices-basic.so #PACKAGE# #MINVER#
++ pocl_basic_init_device_ops@Base 1.6
++libpocl-devices-pthread.so #PACKAGE# #MINVER#
++ pocl_pthread_init_device_ops@Base 1.6
++libpocl.so.2 #PACKAGE# #MINVER#
++* Build-Depends-Package: libpocl-dev
++#MISSING: 0.11# Header@Base 0.10
++#MISSING: 0.11# KernelName@Base 0.10
++ POclReleaseEvent@Base 1.6-5~visibility
++ POclRetainEvent@Base 1.6-5~visibility
++#MISSING: 1.6-5~visibility# X@Base 0.13
++#MISSING: 1.6-5~visibility# Y@Base 0.10
++ _Z20getModuleIntMetadataRKN4llvm6ModuleEPKcRm@Base 1.8
++ _Z21getModuleBoolMetadataRKN4llvm6ModuleEPKcRb@Base 1.8
++ _Z23getModuleStringMetadataRKN4llvm6ModuleEPKcRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE@Base 1.8
++#MISSING: 1.8# (optional=templinst)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE12emplace_backIJS5_EEEvDpOT_@Base 0.11
++#MISSING: 1.8# (optional=templinst)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJRKS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++#MISSING: 1.8# (optional=templinst)_ZNSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EE17_M_realloc_insertIJS5_EEEvN9__gnu_cxx17__normal_iteratorIPS5_S7_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++#MISSING: 1.8# (optional=templinst)_ZNSt6vectorIPKcSaIS1_EE17_M_realloc_insertIJS1_EEEvN9__gnu_cxx17__normal_iteratorIPS1_S3_EEDpOT_@Base 0.13-9~llvm3.8+gcc7
++#MISSING: 1.8# (optional=templinst|subst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE10_M_replaceE{size_t}{size_t}PKc{size_t}@Base 1.6-2~hardening
++ (optional=templinst|arch=mipsel)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPKcEEvT_S8_St20forward_iterator_tag@Base 1.1-6~llvm6.0+gcc8
++#MISSING: 1.8# (optional=templinst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE4swapERS4_@Base 1.6-2~hardening
++#MISSING: 1.8# (optional=templinst|subst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_appendEPKc{size_t}@Base 1.6-2~hardening
++#MISSING: 1.8# (optional=templinst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_assignERKS4_@Base 1.6-2~hardening
++#MISSING: 1.8# (optional=templinst|subst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_mutateE{size_t}{size_t}PKc{size_t}@Base 1.6-2~hardening
++#MISSING: 1.8# (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE24_M_get_insert_unique_posERKS5_@Base 1.0
++#MISSING: 1.8# (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS5_ERKS5_@Base 1.0
++#MISSING: 1.8# (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE8_M_eraseEPSt13_Rb_tree_nodeIS5_E@Base 1.0
++#MISSING: 1.8# (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E@Base 1.1-2~llvm5.0
++#MISSING: 1.8# (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_@Base 0.11
++#MISSING: 1.8# (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_iESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_@Base 0.11
++#MISSING: 1.8# (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_@Base 1.0
++#MISSING: 1.8# (optional=templinst)_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_jESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_@Base 1.0
++#MISSING: 1.8# (optional=templinst)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_@Base 1.6-2~hardening
++ (arch=armel riscv64)_ZTIN9__gnu_cxx7__mutexE@Base 1.4-5~llvm9
++ (arch=armel riscv64)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.10
++ (arch=!armel !riscv64)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.10
++ (arch=armel riscv64)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.10
++ (arch=!armel !riscv64)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.10
++ (arch=armel armhf)_ZTISt19_Sp_make_shared_tag@Base 0.10
++ (arch=armel riscv64)_ZTSN9__gnu_cxx7__mutexE@Base 1.0
++ (arch=armel riscv64)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.10
++ (arch=!armel !riscv64)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.10
++ (arch=armel riscv64)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.10
++ (arch=!armel !riscv64)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.10
++ _ZTSSt19_Sp_make_shared_tag@Base 0.10
++ _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag@Base 1.1-8~llvm6.0+gcc8.2
++#MISSING: 0.14# check_compiler_cache@Base 0.10
++ clGetExtensionFunctionAddress@Base 0.10
++ clGetExtensionFunctionAddressForPlatform@Base 1.0
++#MISSING: 1.6-5~visibility# cl_context_count@Base 1.1
++#MISSING: 0.14~visibility# context_set_properties@Base 0.10
++#MISSING: 0.14# cpufreq_file@Base 0.10
++#MISSING: 0.14# cpuinfo@Base 0.10
++#MISSING: 1.0# create_workitem_aa_plugin@Base 0.10
++#MISSING: 1.8# currentPoclDevice@Base 0.14
++#MISSING: 1.6-5~# fill_dev_image_t@Base 1.6
++#MISSING: 1.6-5~# fill_dev_sampler_t@Base 1.6
++#MISSING: 0.14# find_env@Base 0.10
++#MISSING: 0.14# get_cpu_name@Base 0.13
++ get_llvm_cpu_name@Base 1.6
++#MISSING: 0.14~visibility# llvm_codegen@Base 0.10
++#MISSING: 0.12~visibility# pocl_SHA1_Final@Base 0.11
++#MISSING: 0.12~visibility# pocl_SHA1_Init@Base 0.11
++#MISSING: 0.12~visibility# pocl_SHA1_Update@Base 0.11
++ pocl_aligned_malloc@Base 1.6
++ pocl_aligned_malloc_global_mem@Base 1.6
++ pocl_alloc_or_retain_mem_host_ptr@Base 1.8
++#MISSING: 0.12# pocl_basic_malloc@Base 0.11
++#MISSING: 0.13# pocl_basic_set_buffer_image_limits@Base 0.12
++ pocl_broadcast@Base 1.6
++ pocl_cache_work_group_function_path@Base 1.6-5~visibility
++ pocl_check_kernel_disk_cache@Base 1.8
++ pocl_check_kernel_dlhandle_cache@Base 1.6
++#MISSING: 0.11~visibility# pocl_command_enqueue@Base 0.10
++ pocl_command_push@Base 1.6
++ pocl_command_to_str@Base 1.6-5~visibility
++#MISSING: 0.14# pocl_compact_queue_list@Base 0.12
++#MISSING: 1.6~visibility# pocl_context_handling_lock@Base 1.1
++#MISSING: 0.14~visibility# pocl_cpufreq_get_max@Base 0.10
++#MISSING: 0.12# pocl_cpuinfo_append_cpu_name@Base 0.10
++#MISSING: 0.14~visibility# pocl_cpuinfo_detect_compute_unit_count@Base 0.10
++ pocl_cpuinfo_detect_device_info@Base 1.6
++#MISSING: 0.14~visibility# pocl_cpuinfo_detect_max_clock_frequency@Base 0.10
++#MISSING: 0.14~visibility# pocl_cpuinfo_get_cpu_name_and_vendor@Base 0.12
++#MISSING: 1.6~visibility# pocl_cq_profiling_enabled@Base 1.5
++#MISSING: 1.6~visibility# pocl_cq_profiling_init@Base 1.5
++#MISSING: 1.6~visibility# pocl_cq_profiling_register_event@Base 1.5
++#MISSING: 0.11~visibility# pocl_create_command@Base 0.10
++#MISSING: 0.11~visibility# pocl_create_event@Base 0.10
++#MISSING: 0.12# pocl_debug_messages@Base 0.11
++ pocl_debug_messages_filter@Base 1.6
++ pocl_debug_messages_setup@Base 1.8
++ pocl_debug_output_lock@Base 1.6
++ pocl_debug_output_unlock@Base 1.6
++ pocl_debug_print_header@Base 1.6
++#MISSING: 0.12# pocl_debug_timespec@Base 0.11
++ pocl_default_local_size_optimizer@Base 1.6
++ pocl_device_get_env_count@Base 1.6
++#MISSING: 1.6-5~visibility# pocl_device_types@Base 1.6
++ pocl_driver_build_binary@Base 1.8
++ pocl_driver_build_poclbinary@Base 1.8
++ pocl_driver_build_source@Base 1.8
++ pocl_driver_copy@Base 1.8
++ pocl_driver_copy_rect@Base 1.8
++ pocl_driver_copy_with_size@Base 1.8
++ pocl_driver_free_mapping_ptr@Base 1.8
++ pocl_driver_free_program@Base 1.8
++ pocl_driver_get_mapping_ptr@Base 1.8
++ pocl_driver_link_program@Base 1.8
++ pocl_driver_map_mem@Base 1.8
++ pocl_driver_memfill@Base 1.8
++ pocl_driver_read@Base 1.8
++ pocl_driver_read_rect@Base 1.8
++ pocl_driver_setup_metadata@Base 1.8
++ pocl_driver_supports_binary@Base 1.8
++ pocl_driver_unmap_mem@Base 1.8
++ pocl_driver_write@Base 1.8
++ pocl_driver_write_rect@Base 1.8
++ pocl_exec_command@Base 1.6
++ pocl_exists@Base 1.6-5~visibility
++ pocl_fill_dev_image_t@Base 1.6-5~
++ pocl_fill_dev_sampler_t@Base 1.6-5~
++#MISSING: 0.14# pocl_find_img_format@Base 0.10
++#MISSING: 0.14# pocl_finish_all_queues@Base 0.12
++ pocl_free_global_mem@Base 1.6
++#MISSING: 0.14~visibility# pocl_free_llvm_irs@Base 0.12
++ pocl_get_bool_option@Base 0.10
++ pocl_get_int_option@Base 0.10
++ pocl_get_string_option@Base 0.10
++ pocl_gettimemono_ns@Base 1.6-5~visibility
++ pocl_init_default_device_infos@Base 1.6
++ pocl_init_dlhandle_cache@Base 1.6
++#MISSING: 0.14~visibility# pocl_init_mem_manager@Base 0.10
++#MISSING: 1.6~visibility# pocl_is_option_set@Base 0.10
++#MISSING: 0.14~visibility# pocl_llvm_build_program@Base 0.10
++#MISSING: 0.14~visibility# pocl_llvm_codegen@Base 0.10
++ pocl_llvm_generate_workgroup_function@Base 0.10
++#MISSING: 0.14~visibility# pocl_llvm_get_kernel_count@Base 0.12
++#MISSING: 0.14# pocl_llvm_get_kernel_metadata@Base 0.10
++#MISSING: 0.14# pocl_llvm_get_kernel_names@Base 0.10
++#MISSING: 0.14~visibility# pocl_llvm_update_binaries@Base 0.10
++#MISSING: 0.14# pocl_map_mem_cmd@Base 0.10
++#MISSING: 0.14~visibility# pocl_mem_manager_free_command@Base 0.10
++#MISSING: 0.14~visibility# pocl_mem_manager_free_event@Base 0.10
++#MISSING: 0.14~visibility# pocl_mem_manager_new_command@Base 0.10
++#MISSING: 0.14~visibility# pocl_mem_manager_new_event@Base 0.10
++#MISSING: 0.14~visibility# pocl_memalign_alloc@Base 0.11
++#MISSING: 0.14# pocl_memalign_alloc_global_mem@Base 0.13
++ pocl_ndrange_node_cleanup@Base 1.6
++#MISSING: 0.14~visibility# pocl_print_system_memory_stats@Base 0.13
++#MISSING: 0.13# pocl_pthread_malloc@Base 0.11
++#MISSING: 0.14~visibility# pocl_rect_copy@Base 0.13
++ pocl_release_dlhandle_cache@Base 1.6
++ pocl_release_mem_host_ptr@Base 1.8
++ pocl_restore_ftz@Base 1.6
++ pocl_restore_rm@Base 1.6
++ pocl_save_ftz@Base 1.6
++ pocl_save_rm@Base 1.6
++ pocl_set_buffer_image_limits@Base 1.6
++ pocl_set_default_rm@Base 1.6
++ pocl_set_ftz@Base 1.6
++#MISSING: 0.14~visibility# pocl_setup_device_for_system_memory@Base 0.13
++ pocl_stderr_is_a_tty@Base 1.6-5~
++#MISSING: 0.12# pocl_sysfs_detect_compute_unit_count@Base 0.11
++ pocl_topology_detect_device_info@Base 1.6
++ pocl_update_event_complete_msg@Base 1.6
++ pocl_update_event_failed@Base 1.6
++#MISSING: 1.6-5~visibility# pocl_update_event_finished_msg@Base 1.4
++ pocl_update_event_running@Base 1.6
++ pocl_update_event_submitted@Base 1.6
++#MISSING: 0.14~visibility# pocl_update_program_llvm_irs@Base 0.11
++ pocl_write_file@Base 1.6-5~visibility
++#MISSING: 1.6~visibility# scheduler_initialized@Base 1.3
++#MISSING: 1.6-5~# stderr_is_a_tty@Base 1.6
++#MISSING: 0.12~visibility# supported_image_formats@Base 0.10
++#MISSING: 0.14# ta_pool_lock@Base 0.10
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c8bdb920b002dbce982b301a39ba94c14e85d990
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,41 @@@
++From 0da75d45540453abdc0f667058227a230d47ed1f Mon Sep 17 00:00:00 2001
++From: =?UTF-8?q?Pekka=20J=C3=A4=C3=A4skel=C3=A4inen?=
++ <pekka.jaaskelainen@tuni.fi>
++Date: Tue, 12 Oct 2021 18:22:28 +0300
++Subject: [PATCH] Tweaks
++
++---
++ CHANGES                       | 4 ++--
++ doc/sphinx/source/install.rst | 4 ++--
++ 2 files changed, 4 insertions(+), 4 deletions(-)
++
++diff --git a/CHANGES b/CHANGES
++index aaa320d5..c995d667 100644
++--- a/CHANGES
+++++ b/CHANGES
++@@ -1,5 +1,5 @@
++-1.8 unreleased
++-==============
+++1.8 October 2021
+++================
++ 
++ Notable User Facing Changes
++ ---------------------------
++diff --git a/doc/sphinx/source/install.rst b/doc/sphinx/source/install.rst
++index 11362cdf..29e91bc0 100644
++--- a/doc/sphinx/source/install.rst
+++++ b/doc/sphinx/source/install.rst
++@@ -24,8 +24,8 @@ Installing requirements for Ubuntu::
++ Note: The binary packages from https://apt.llvm.org/ are recommended
++ (and tested for each release) instead of the binary tar balls or
++ the packages included in the distribution. The following assumes
++-apt.llvm.org is added to your apt repos (LLVM_VERSION=12 recommended
++-for PoCL 1.7)::
+++apt.llvm.org is added to your apt repos (LLVM_VERSION=13 recommended
+++for PoCL 1.8)::
++ 
++     apt install -y build-essential ocl-icd-libopencl1 cmake git pkg-config libclang-${LLVM_VERSION}-dev clang llvm-${LLVM_VERSION} make ninja-build ocl-icd-libopencl1 ocl-icd-dev ocl-icd-opencl-dev libhwloc-dev zlib1g zlib1g-dev clinfo dialog apt-utils libxml2-dev libclang-cpp${LLVM_VERSION}-dev libclang-cpp${LLVM_VERSION} llvm-${LLVM_VERSION}-dev
++ 
++-- 
++2.20.1
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d6ec4e5e7e893bf57a49cec12846523f5a7f1e80
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,75 @@@
++From 59b376316d8cadf4789b259aa4f4fff9f928db92 Mon Sep 17 00:00:00 2001
++From: Andreas Beckmann <anbe@debian.org>
++Date: Sat, 13 Feb 2021 22:51:43 +0100
++Subject: [PATCH] stop building libllvmopencl.so which is no longer used since
++ 0.14
++
++---
++ CMakeLists.txt                |  2 +-
++ lib/llvmopencl/CMakeLists.txt | 30 ------------------------------
++ 2 files changed, 1 insertion(+), 31 deletions(-)
++
++diff --git a/CMakeLists.txt b/CMakeLists.txt
++index 3da10e19..959dbfad 100644
++--- a/CMakeLists.txt
+++++ b/CMakeLists.txt
++@@ -338,7 +338,7 @@ endif()
++ # for libpocl.so
++ set(POCL_INSTALL_PUBLIC_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" CACHE PATH "POCL public libdir")
++ 
++-# for llvmopencl.so
+++# for libpocl-devices-*.so
++ set(POCL_INSTALL_PRIVATE_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/pocl" CACHE PATH "POCL private libdir")
++ 
++ # for pocl.icd
++diff --git a/lib/llvmopencl/CMakeLists.txt b/lib/llvmopencl/CMakeLists.txt
++index c106b0f2..87570507 100644
++--- a/lib/llvmopencl/CMakeLists.txt
+++++ b/lib/llvmopencl/CMakeLists.txt
++@@ -101,20 +101,6 @@ endif(MSVC)
++ add_library("llvmpasses" OBJECT ${LLVMPASSES_SOURCES})
++ harden("llvmpasses")
++ 
++-# This creates a separate llvmopencl.so that is loaded to 'opt'
++-# for the pocl-workgroup version.
++-#pkglib_LTLIBRARIES = llvmopencl.la
++-add_library("llvmopencl" MODULE "$<TARGET_OBJECTS:llvmpasses>")
++-harden("llvmopencl")
++-
++-# not sure where other platforms get their library linkage list, probably there is
++-# way to make this more consistent on different platforms
++-if(MSVC)
++-  target_link_libraries("llvmopencl" ${POCL_LLVM_LIBS})
++-endif(MSVC)
++-
++-#target_link_libraries("llvmopencl" "${LLVM_SYSLIBS}")
++- 
++ # TODO cmake should handle this, i might me missing something …
++ if(APPLE)
++   set(ADD_LD_FLAGS "-Wl,-undefined -Wl,dynamic_lookup ")
++@@ -122,22 +108,6 @@ else()
++   set(ADD_LD_FLAGS "-Wl,-export-dynamic")
++ endif()
++ 
++-# TODO ENABLE_EXPORTS -> Wl,export_dynamic
++-# https://www.cmake.org/cmake/help/v2.8.12/cmake.html#prop_tgt:ENABLE_EXPORTS
++-# https://www.cmake.org/pipermail/cmake/2011-November/047708.html
++-set_target_properties("llvmopencl" PROPERTIES LINK_FLAGS "${LLVM_LDFLAGS} ${ADD_LD_FLAGS}")
++-if(NOT APPLE)
++-  set_target_properties("llvmopencl" PROPERTIES SOVERSION "${KERNEL_COMPILER_LIB_VERSION}" VERSION "${KERNEL_COMPILER_LIB_VERSION}")
++-endif()
++-
++-install(TARGETS "llvmopencl"
++-        LIBRARY DESTINATION ${POCL_INSTALL_PRIVATE_LIBDIR}
++-        COMPONENT "lib"
++-        ARCHIVE DESTINATION ${POCL_INSTALL_PRIVATE_LIBDIR}/static
++-        COMPONENT "dev"
++-)
++-
++ if(ENABLE_IPO)
++   set_property(TARGET "llvmpasses" PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
++-  set_property(TARGET "llvmopencl" PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
++ endif()
++-- 
++2.20.1
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7cd69714de0439d441f89591bbc8e506afa990a0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,127 @@@
++From 7575d02806f50624bb126f66ed56df4783aba6b6 Mon Sep 17 00:00:00 2001
++From: Andreas Beckmann <anbe@debian.org>
++Date: Wed, 10 Feb 2021 23:25:57 +0100
++Subject: [PATCH] add POCL_EXPORT to additional symbols needed by the cuda
++ device
++
++---
++ include/pocl_cache.h         | 1 +
++ include/pocl_file_util.h     | 2 ++
++ lib/CL/pocl_intfn.h          | 2 ++
++ lib/CL/pocl_llvm.h           | 1 +
++ lib/CL/pocl_runtime_config.h | 1 +
++ lib/CL/pocl_timing.h         | 3 +++
++ lib/CL/pocl_util.h           | 1 +
++ 7 files changed, 11 insertions(+)
++
++diff --git a/include/pocl_cache.h b/include/pocl_cache.h
++index 7caf6d71..15cf97d9 100644
++--- a/include/pocl_cache.h
+++++ b/include/pocl_cache.h
++@@ -107,6 +107,7 @@ void pocl_cache_program_bc_path(char*       program_bc_path,
++                                cl_program   program,
++                                unsigned     device_i);
++ 
+++POCL_EXPORT
++ void pocl_cache_work_group_function_path (char *parallel_bc_path,
++                                           cl_program program,
++                                           unsigned device_i, cl_kernel kernel,
++diff --git a/include/pocl_file_util.h b/include/pocl_file_util.h
++index 3bbb2c27..68fe72ce 100644
++--- a/include/pocl_file_util.h
+++++ b/include/pocl_file_util.h
++@@ -42,6 +42,7 @@ int pocl_remove(const char* path);
++ 
++ int pocl_rename(const char *oldpath, const char *newpath);
++ 
+++POCL_EXPORT
++ int pocl_exists(const char* path);
++ 
++ /* Touch file to change last modified time. For portability, this
++@@ -49,6 +50,7 @@ int pocl_exists(const char* path);
++ int pocl_touch_file(const char* path);
++ 
++ /* Writes or appends data to a file.  */
+++POCL_EXPORT
++ int pocl_write_file(const char* path, const char* content,
++                     uint64_t count, int append, int dont_rewrite);
++ 
++diff --git a/lib/CL/pocl_intfn.h b/lib/CL/pocl_intfn.h
++index 4000040c..f2ae7d0f 100644
++--- a/lib/CL/pocl_intfn.h
+++++ b/lib/CL/pocl_intfn.h
++@@ -99,6 +99,7 @@ POdeclsymICD(clIcdGetPlatformIDsKHR)
++ POdeclsym(clReleaseCommandQueue)
++ POdeclsym(clReleaseContext)
++ POdeclsym(clReleaseDevice)
+++POCL_EXPORT
++ POdeclsym(clReleaseEvent)
++ POdeclsym(clReleaseKernel)
++ POdeclsym(clReleaseMemObject)
++@@ -107,6 +108,7 @@ POdeclsym(clReleaseSampler)
++ POdeclsym(clRetainCommandQueue)
++ POdeclsym(clRetainContext)
++ POdeclsym(clRetainDevice)
+++POCL_EXPORT
++ POdeclsym(clRetainEvent)
++ POdeclsym(clRetainKernel)
++ POdeclsym(clRetainMemObject)
++diff --git a/lib/CL/pocl_llvm.h b/lib/CL/pocl_llvm.h
++index e33c76d2..60f48d23 100644
++--- a/lib/CL/pocl_llvm.h
+++++ b/lib/CL/pocl_llvm.h
++@@ -68,6 +68,7 @@ extern "C" {
++    * WG function that might be specialized according to the properties of
++    * the given Command.
++    */
+++  POCL_EXPORT
++   int pocl_llvm_generate_workgroup_function (unsigned DeviceI,
++                                              cl_device_id Device,
++                                              cl_kernel Kernel,
++diff --git a/lib/CL/pocl_runtime_config.h b/lib/CL/pocl_runtime_config.h
++index 7f47c13f..4f300f1d 100644
++--- a/lib/CL/pocl_runtime_config.h
+++++ b/lib/CL/pocl_runtime_config.h
++@@ -36,6 +36,7 @@ POCL_EXPORT
++ int pocl_get_int_option(const char *key, int default_value);
++ POCL_EXPORT
++ int pocl_get_bool_option(const char *key, int default_value);
+++POCL_EXPORT
++ const char* pocl_get_string_option(const char *key, const char *default_value);
++ 
++ #ifdef __cplusplus
++diff --git a/lib/CL/pocl_timing.h b/lib/CL/pocl_timing.h
++index afcffd94..7d27b9b1 100644
++--- a/lib/CL/pocl_timing.h
+++++ b/lib/CL/pocl_timing.h
++@@ -26,12 +26,15 @@
++ 
++ #include "config.h"
++ 
+++#include "pocl_export.h"
+++
++ #ifdef __cplusplus
++ extern "C" {
++ #endif
++ 
++ extern const unsigned pocl_timer_resolution;
++ 
+++POCL_EXPORT
++ uint64_t pocl_gettimemono_ns();
++ 
++ int pocl_gettimereal(int *year, int *mon, int *day, int *hour, int *min, int *sec, int* nanosec);
++diff --git a/lib/CL/pocl_util.h b/lib/CL/pocl_util.h
++index 0fcd73dc..eeceb6b5 100644
++--- a/lib/CL/pocl_util.h
+++++ b/lib/CL/pocl_util.h
++@@ -218,6 +218,7 @@ void pocl_update_event_failed (cl_event event);
++ const char*
++ pocl_status_to_str (int status);
++ 
+++POCL_EXPORT
++ const char *
++ pocl_command_to_str (cl_command_type cmd);
++ 
++-- 
++2.20.1
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..81acb0cd6e8435969a888a68385641e0e7d5456f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,28 @@@
++From ad45463c45567578f4b532e70194a923de7ecb16 Mon Sep 17 00:00:00 2001
++From: Andreas Beckmann <anbe@debian.org>
++Date: Wed, 13 Oct 2021 16:23:53 +0200
++Subject: [PATCH] add POCL_EXPORT to additional symbols needed if hardening is
++ enabled
++
++---
++ lib/CL/pocl_util.h | 2 ++
++ 1 file changed, 2 insertions(+)
++
++diff --git a/lib/CL/pocl_util.h b/lib/CL/pocl_util.h
++index eeceb6b5..6fa860c9 100644
++--- a/lib/CL/pocl_util.h
+++++ b/lib/CL/pocl_util.h
++@@ -107,8 +107,10 @@ cl_int pocl_create_command_migrate (_cl_command_node **cmd,
++ void pocl_command_enqueue (cl_command_queue command_queue,
++                           _cl_command_node *node);
++ 
+++POCL_EXPORT
++ int pocl_alloc_or_retain_mem_host_ptr (cl_mem mem);
++ 
+++POCL_EXPORT
++ int pocl_release_mem_host_ptr (cl_mem mem);
++ 
++ /* does several sanity checks on buffer & given memory region */
++-- 
++2.20.1
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f0b33775f791ecaf9a5f85d8b319582ed93e98f3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,214 @@@
++From b46f2a3aef3aad6290758af0141516c3dc2aa4f8 Mon Sep 17 00:00:00 2001
++From: Andreas Beckmann <anbe@debian.org>
++Date: Thu, 10 Dec 2020 19:47:30 +0100
++Subject: [PATCH] add testcase for Debian bug #975931
++
++---
++ tests/regression/CMakeLists.txt               |   3 +
++ .../test_llvm_segfault_debian_bug_975931.cpp  | 173 ++++++++++++++++++
++ 2 files changed, 176 insertions(+)
++ create mode 100644 tests/regression/test_llvm_segfault_debian_bug_975931.cpp
++
++diff --git a/tests/regression/CMakeLists.txt b/tests/regression/CMakeLists.txt
++index a5ee9159..c14044af 100644
++--- a/tests/regression/CMakeLists.txt
+++++ b/tests/regression/CMakeLists.txt
++@@ -40,6 +40,7 @@ set(PROGRAMS_TO_BUILD test_barrier_between_for_loops test_early_return
++   test_for_with_var_iteration_count test_id_dependent_computation
++   test_locals test_loop_phi_replication test_multi_level_loops_with_barriers
++   test_simple_for_with_a_barrier test_structs_as_args test_vectors_as_args
+++  test_llvm_segfault_debian_bug_975931
++   test_barrier_before_return test_infinite_loop test_constant_array
++   test_undominated_variable test_setargs test_null_arg
++   test_fors_with_var_iteration_counts test_issue_231 test_issue_445
++@@ -76,6 +77,8 @@ add_test_pocl(NAME "regression/test_issue_757" COMMAND "test_issue_757")
++ 
++ add_test_pocl(NAME "regression/test_flatten_barrier_subs" COMMAND "test_flatten_barrier_subs" EXPECTED_OUTPUT "test_flatten_barrier_subs.output")
++ 
+++add_test_pocl(NAME "regression/test_llvm_segfault_debian_bug_975931" COMMAND "test_llvm_segfault_debian_bug_975931")
+++
++ # repl
++ 
++ add_test_pocl(NAME "regression/phi_nodes_not_replicated_REPL" COMMAND "test_loop_phi_replication")
++diff --git a/tests/regression/test_llvm_segfault_debian_bug_975931.cpp b/tests/regression/test_llvm_segfault_debian_bug_975931.cpp
++new file mode 100644
++index 00000000..220fe628
++--- /dev/null
+++++ b/tests/regression/test_llvm_segfault_debian_bug_975931.cpp
++@@ -0,0 +1,173 @@
+++/*
+++
+++   Copyright (c) 2013 Pekka Jääskeläinen and
+++                      Kalray
+++
+++   Permission is hereby granted, free of charge, to any person obtaining a copy
+++   of this software and associated documentation files (the "Software"), to deal
+++   in the Software without restriction, including without limitation the rights
+++   to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+++   copies of the Software, and to permit persons to whom the Software is
+++   furnished to do so, subject to the following conditions:
+++
+++   The above copyright notice and this permission notice shall be included in
+++   all copies or substantial portions of the Software.
+++
+++   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+++   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+++   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+++   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+++   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+++   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+++   THE SOFTWARE.
+++*/
+++
+++#include <stdio.h>
+++#include <stdlib.h>
+++#include <string.h>
+++#include <CL/cl.h>
+++#include <poclu.h>
+++#include "config.h"
+++
+++const char source[] =
+++"#ifdef DOUBLE_PRECISION\n"
+++"    #ifdef cl_khr_fp64\n"
+++"    #pragma OPENCL EXTENSION cl_khr_fp64 : enable\n"
+++"    #else\n"
+++"    #pragma OPENCL EXTENSION cl_amd_fp64 : enable\n"
+++"    #endif\n"
+++"#endif\n"
+++"\n"
+++"__kernel void Sdot_kernel( __global float *_X, __global float *_Y, __global float *scratchBuff,\n"
+++"                                        uint N, uint offx, int incx, uint offy, int incy, int doConj )\n"
+++"{\n"
+++"    __global float *X = _X + offx;\n"
+++"    __global float *Y = _Y + offy;\n"
+++"    float dotP = (float) 0.0;\n"
+++"\n"
+++"    if ( incx < 0 ) {\n"
+++"        X = X + (N - 1) * abs(incx);\n"
+++"    }\n"
+++"    if ( incy < 0 ) {\n"
+++"        Y = Y + (N - 1) * abs(incy);\n"
+++"    }\n"
+++"\n"
+++"    int gOffset;\n"
+++"    for( gOffset=(get_global_id(0) * 4); (gOffset + 4 - 1)<N; gOffset+=( get_global_size(0) * 4 ) )\n"
+++"    {\n"
+++"        float4 vReg1, vReg2, res;\n"
+++"\n"
+++"        #ifdef INCX_NONUNITY\n"
+++"             vReg1 = (float4)(  (X + (gOffset*incx))[0 + ( incx * 0)],  (X + (gOffset*incx))[0 + ( incx * 1)],  (X + (gOffset*incx))[0 + ( incx * 2)],  (X + (gOffset*incx))[0 + ( incx * 3)]);\n"
+++"        #else\n"
+++"            vReg1 = vload4(  0, (__global float *) (X + gOffset) );\n"
+++"        #endif\n"
+++"\n"
+++"        #ifdef INCY_NONUNITY\n"
+++"             vReg2 = (float4)(  (Y + (gOffset*incy))[0 + ( incy * 0)],  (Y + (gOffset*incy))[0 + ( incy * 1)],  (Y + (gOffset*incy))[0 + ( incy * 2)],  (Y + (gOffset*incy))[0 + ( incy * 3)]);\n"
+++"        #else\n"
+++"            vReg2 = vload4(  0, (__global float *) (Y + gOffset) );\n"
+++"        #endif\n"
+++"\n"
+++"        ;\n"
+++"         res =  vReg1 *  vReg2 ;\n"
+++"        dotP +=  res .S0 +  res .S1 +  res .S2 +  res .S3;\n"
+++";          // Add-up elements in the vector to give a scalar\n"
+++"    }\n"
+++"\n"
+++"    // Loop for the last thread to handle the tail part of the vector\n"
+++"    // Using the same gOffset used above\n"
+++"    for( ; gOffset<N; gOffset++ )\n"
+++"    {\n"
+++"        float sReg1, sReg2, res;\n"
+++"        sReg1 = X[gOffset * incx];\n"
+++"        sReg2 = Y[gOffset * incy];\n"
+++"\n"
+++"        ;\n"
+++"             res =  sReg1 *  sReg2 ;\n"
+++"             dotP =  dotP +  res ;\n"
+++"        }\n"
+++"\n"
+++"    // Note: this has to be called outside any if-conditions- because REDUCTION uses barrier\n"
+++"    // dotP of work-item 0 will have the final reduced item of the work-group\n"
+++"    __local float p1753 [ 64 ];\n"
+++"    uint QKiD0 = get_local_id(0);\n"
+++"     p1753 [ QKiD0 ] =  dotP ;\n"
+++"    barrier(CLK_LOCAL_MEM_FENCE);\n"
+++"\n"
+++"    if( QKiD0 < 32 ) {\n"
+++"             p1753 [ QKiD0 ] = p1753 [ QKiD0 ] + p1753 [ QKiD0 + 32 ];\n"
+++"    }\n"
+++"    barrier(CLK_LOCAL_MEM_FENCE);\n"
+++"\n"
+++"    if( QKiD0 < 16 ) {\n"
+++"             p1753 [ QKiD0 ] = p1753 [ QKiD0 ] + p1753 [ QKiD0 + 16 ];\n"
+++"    }\n"
+++"    barrier(CLK_LOCAL_MEM_FENCE);\n"
+++"\n"
+++"    if( QKiD0 < 8 ) {\n"
+++"             p1753 [ QKiD0 ] = p1753 [ QKiD0 ] + p1753 [ QKiD0 + 8 ];\n"
+++"    }\n"
+++"    barrier(CLK_LOCAL_MEM_FENCE);\n"
+++"\n"
+++"    if( QKiD0 < 4 ) {\n"
+++"             p1753 [ QKiD0 ] = p1753 [ QKiD0 ] + p1753 [ QKiD0 + 4 ];\n"
+++"    }\n"
+++"    barrier(CLK_LOCAL_MEM_FENCE);\n"
+++"\n"
+++"    if( QKiD0 < 2 ) {\n"
+++"             p1753 [ QKiD0 ] = p1753 [ QKiD0 ] + p1753 [ QKiD0 + 2 ];\n"
+++"    }\n"
+++"    barrier(CLK_LOCAL_MEM_FENCE);\n"
+++"\n"
+++"    if( QKiD0 == 0 ) {\n"
+++"     dotP  = p1753 [0] + p1753 [1];\n"
+++"    }\n"
+++"\n"
+++"    if( (get_local_id(0)) == 0 ) {\n"
+++"        scratchBuff[ get_group_id(0) ] = dotP;\n"
+++"    }\n"
+++"}\n"
+++"\n"
+++;
+++
+++#define MAX_PLATFORMS 32
+++#define MAX_DEVICES   32
+++#define MAX_BINARIES  32
+++
+++int main(){
+++  cl_int err;
+++  cl_platform_id platforms[MAX_PLATFORMS];
+++  cl_uint nplatforms;
+++  cl_device_id devices[MAX_DEVICES];
+++  cl_uint ndevices;
+++  cl_program program = NULL;
+++  size_t binsizes[MAX_BINARIES];
+++  size_t nbinaries;
+++
+++  CHECK_CL_ERROR(clGetPlatformIDs(MAX_PLATFORMS, platforms, &nplatforms));
+++  TEST_ASSERT(nplatforms > 0);
+++
+++  CHECK_CL_ERROR(clGetDeviceIDs(platforms[0], CL_DEVICE_TYPE_ALL, MAX_DEVICES, devices, &ndevices));
+++  TEST_ASSERT(ndevices > 0);
+++
+++  cl_context context = clCreateContext(NULL, 1, devices, NULL, NULL, &err);
+++  CHECK_OPENCL_ERROR_IN("clCreateContext");
+++
+++  const char * src[] = {source};
+++  program = clCreateProgramWithSource(context, 1, src, NULL, &err);
+++  CHECK_OPENCL_ERROR_IN("clCreateProgramWithSource");
+++
+++  CHECK_CL_ERROR(clBuildProgram(program, 1, devices, "-g -DINCX_NONUNITY -DINCY_NONUNITY", NULL, NULL));
+++
+++  CHECK_CL_ERROR(clGetProgramInfo(program, CL_PROGRAM_BINARY_SIZES, sizeof(binsizes), binsizes, &nbinaries));
+++  printf("binary size: %zd\n", binsizes[0]);
+++
+++  CHECK_CL_ERROR(clReleaseProgram(program));
+++
+++  CHECK_CL_ERROR (clReleaseContext (context));
+++
+++  printf ("OK\n");
+++
+++  return EXIT_SUCCESS;
+++}
++-- 
++2.20.1
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cef1ecd69c9d203de3e0d51a32a744b2ff8825a4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,37 @@@
++From 4c98e36ab636dd799772e3c8a2d9ddaaebaf64e2 Mon Sep 17 00:00:00 2001
++From: Andreas Beckmann <anbe@debian.org>
++Date: Wed, 8 Apr 2020 01:33:12 +0200
++Subject: [PATCH 02/10] link against single shared libclang-cpp when building
++ with llvm 9, too
++
++---
++ cmake/LLVM.cmake | 6 +++---
++ 1 file changed, 3 insertions(+), 3 deletions(-)
++
++diff --git a/cmake/LLVM.cmake b/cmake/LLVM.cmake
++index 51b051c2..cc66096d 100644
++--- a/cmake/LLVM.cmake
+++++ b/cmake/LLVM.cmake
++@@ -243,8 +243,8 @@ string(STRIP "${LLVM_SYSLIBS}" LLVM_SYSLIBS)
++ ####################################################################
++ 
++ # llvm-config does not include clang libs
++-if((9 LESS LLVM_MAJOR) AND (NOT STATIC_LLVM))
++-  # For Clang 10+, link against a single shared library instead of multiple component shared
+++if((8 LESS LLVM_MAJOR) AND (NOT STATIC_LLVM))
+++  # For Clang 9+, link against a single shared library instead of multiple component shared
++   # libraries.
++   if("${LLVM_LIBNAMES}" MATCHES "LLVMTCE")
++     set(CLANG_LIBNAMES clangTCE-cpp)
++@@ -261,7 +261,7 @@ endif()
++ foreach(LIBNAME ${CLANG_LIBNAMES})
++   find_library(C_LIBFILE_${LIBNAME} NAMES "${LIBNAME}" HINTS "${LLVM_LIBDIR}")
++   list(APPEND CLANG_LIBFILES "${C_LIBFILE_${LIBNAME}}")
++-  if(UNIX AND (NOT APPLE))
+++  if(UNIX AND (NOT APPLE) AND (NOT ((8 LESS LLVM_MAJOR) AND (NOT STATIC_LLVM))))
++     set(LLVM_LDFLAGS "${LLVM_LDFLAGS} -Wl,--exclude-libs,lib${LIBNAME}")
++   endif()
++ endforeach()
++-- 
++2.20.1
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e88e910a1717d0179094ad29de531406cd68ffc0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,31 @@@
++From b0413f103af408ba91c50953a14a668ed65dd606 Mon Sep 17 00:00:00 2001
++From: Andreas Beckmann <anbe@debian.org>
++Date: Wed, 27 Jan 2021 21:26:51 +0100
++Subject: [PATCH] restore setting unroll-threshold on LLVM 9
++
++otherwise kernel/test_rotate hangs on avx512 capable cpus
++
++(this partially reverts 459d0bb5241a62af3b5b607a65dcf5e9a34a01ee)
++---
++ lib/CL/pocl_llvm_utils.cc | 5 +++++
++ 1 file changed, 5 insertions(+)
++
++diff --git a/lib/CL/pocl_llvm_utils.cc b/lib/CL/pocl_llvm_utils.cc
++index 2d4fc0da..2cc86ea3 100644
++--- a/lib/CL/pocl_llvm_utils.cc
+++++ b/lib/CL/pocl_llvm_utils.cc
++@@ -345,6 +345,11 @@ void InitializeLLVM() {
++       assert(O && "could not find LLVM option 'debug'");
++       O->addOccurrence(1, StringRef("debug"), StringRef("true"), false);
++     }
+++#if LLVM_MAJOR == 9
+++    O = opts["unroll-threshold"];
+++    assert(O && "could not find LLVM option 'unroll-threshold'");
+++    O->addOccurrence(1, StringRef("unroll-threshold"), StringRef("1"), false);
+++#endif
++   }
++ }
++ 
++-- 
++2.20.1
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8440fd296bc0c0204d506aff59bdd5ee3046d8a2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,24 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: the pocl cl extensions are not yet in the upstream cl headers
++Forwarded: no-needed
++
++--- a/lib/CL/pocl_cl.h
+++++ b/lib/CL/pocl_cl.h
++@@ -61,6 +61,7 @@ typedef pthread_t pocl_thread_t;
++ #include "pocl_hash.h"
++ #include "pocl_runtime_config.h"
++ #include "common.h"
+++#include "_CL/cl_ext_pocl.h"
++ 
++ #if __STDC_VERSION__ < 199901L
++ # if __GNUC__ >= 2
++--- a/tests/runtime/test_cl_pocl_content_size.c
+++++ b/tests/runtime/test_cl_pocl_content_size.c
++@@ -25,6 +25,7 @@
++ #include <stdio.h>
++ #include <stdlib.h>
++ #include <string.h>
+++#include <_CL/cl_ext_pocl.h>
++ 
++ #define SRC_CHAR 1
++ #define DST_CHAR 2
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0d0e5b4872e17ff96b20656fad8395f24b787fc5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,39 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: tune distro mode
++Forwarded: no-needed
++
++--- a/lib/kernel/host/CMakeLists.txt
+++++ b/lib/kernel/host/CMakeLists.txt
++@@ -317,8 +317,8 @@ separate_arguments(DEVICE_C_FLAGS)
++ function(x86_distro_variant_to_flags VARIANT OUT_LLC_FLAGS OUT_CLANG_FLAGS)
++ 
++   if("${VARIANT}" STREQUAL "sse2")
++-    set(CLANG_F "${CLANG_MARCH_FLAG}athlon64")
++-    set(LLC_F "-mcpu=athlon64")
+++    set(CLANG_F "${CLANG_MARCH_FLAG}x86-64")
+++    set(LLC_F "-mcpu=x86-64")
++ 
++   elseif("${VARIANT}" STREQUAL "ssse3")
++     set(CLANG_F "${CLANG_MARCH_FLAG}core2")
++--- a/CMakeLists.txt
+++++ b/CMakeLists.txt
++@@ -1041,6 +1041,9 @@ endif()
++ 
++ set(KERNELLIB_HOST_DISTRO_VARIANTS 0)
++ if(KERNELLIB_HOST_CPU_VARIANTS STREQUAL "distro")
+++  if("${LLC_HOST_CPU}" STREQUAL "GENERIC")
+++    set(HOST_CPU_FORCED 0 CACHE INTERNAL "CPU is forced by user")
+++  endif()
++   if(HOST_CPU_FORCED)
++     message(FATAL_ERROR "Cannot build with CPU autodetection distro variants build, and enforce LLC_HOST_CPU at the same time. Please pick one")
++   endif()
++@@ -1051,6 +1054,9 @@ if(KERNELLIB_HOST_CPU_VARIANTS STREQUAL
++   else()
++     message(FATAL_ERROR "Don't know what CPU variants to use for kernel library on this platform.")
++   endif()
+++  if("${LLC_HOST_CPU}" STREQUAL "GENERIC")
+++    list(INSERT KERNELLIB_HOST_CPU_VARIANTS 0 ${LLC_HOST_CPU})
+++  endif()
++   set(KERNELLIB_HOST_DISTRO_VARIANTS 1)
++ endif()
++ 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..21f085d6e1c76036f130e10fb19466d3ddb0abfd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,71 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: add support for a GENERIC cpu type that uses llvm defaults
++Forwarded: not-needed
++
++--- a/lib/kernel/host/CMakeLists.txt
+++++ b/lib/kernel/host/CMakeLists.txt
++@@ -472,6 +472,11 @@ else()
++   set(LLC_CPUFLAGS "-mcpu=${VARIANT}")
++ endif()
++ 
+++if("${VARIANT}" STREQUAL "GENERIC")
+++  set(CLANG_CPUFLAGS "")
+++  set(LLC_CPUFLAGS "")
+++endif()
+++
++ separate_arguments(CLANG_CPUFLAGS)
++ separate_arguments(LLC_CPUFLAGS)
++ set(CLANG_FLAGS ${HOST_CLANG_FLAGS} ${CLANG_CPUFLAGS}
++--- a/lib/CL/devices/common.c
+++++ b/lib/CL/devices/common.c
++@@ -1572,6 +1572,9 @@ pocl_init_default_device_infos (cl_devic
++   dev->llvm_cpu = get_llvm_cpu_name ();
++ #endif
++ 
+++  if(dev->llvm_cpu && (!strcmp(dev->llvm_cpu, "GENERIC")))
+++    dev->llvm_cpu = NULL;
+++
++   dev->spirv_version = "SPIR-V_1.2";
++ #else /* No compiler, no CPU info */
++   dev->llvm_cpu = NULL;
++--- a/lib/CL/pocl_llvm_build.cc
+++++ b/lib/CL/pocl_llvm_build.cc
++@@ -879,7 +879,7 @@ static llvm::Module* getKernelLibrary(cl
++     kernellib_fallback = kernellib;
++     kernellib_fallback += OCL_KERNEL_TARGET_CPU;
++     kernellib_fallback += ".bc";
++-    kernellib += device->llvm_cpu;
+++    kernellib += device->llvm_cpu ? device->llvm_cpu : "GENERIC";
++ #endif
++   }
++   kernellib += ".bc";
++--- a/cmake/LLVM.cmake
+++++ b/cmake/LLVM.cmake
++@@ -720,17 +720,25 @@ endif()
++ 
++ if(NOT DEFINED CLANG_MARCH_FLAG)
++   message(STATUS "Checking clang -march vs. -mcpu flag")
++-  custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -march=${LLC_HOST_CPU})
+++ if(LLC_HOST_CPU STREQUAL "GENERIC" AND NOT KERNELLIB_HOST_CPU_VARIANTS STREQUAL "distro")
+++  set(CLANG_MARCH_FLAG "-None=")
+++ else()
+++  set(LLC_HOST_CPU_TEST "${LLC_HOST_CPU}")
+++  if(LLC_HOST_CPU STREQUAL "GENERIC")
+++    set(LLC_HOST_CPU_TEST "${LLC_HOST_CPU_AUTO}")
+++  endif()
+++  custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -march=${LLC_HOST_CPU_TEST})
++   if(NOT RES)
++     set(CLANG_MARCH_FLAG "-march=")
++   else()
++-    custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -mcpu=${LLC_HOST_CPU})
+++    custom_try_compile_clang_silent("" "return 0;" RES ${CLANG_TARGET_OPTION}${LLC_TRIPLE} -mcpu=${LLC_HOST_CPU_TEST})
++     if(NOT RES)
++       set(CLANG_MARCH_FLAG "-mcpu=")
++     else()
++       message(FATAL_ERROR "Could not determine whether to use -march or -mcpu with clang")
++     endif()
++   endif()
+++ endif()
++   message(STATUS "  Using ${CLANG_MARCH_FLAG}")
++ 
++   set(CLANG_MARCH_FLAG ${CLANG_MARCH_FLAG} CACHE INTERNAL "Clang option used to specify the target cpu")
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..84084a73cb72ab951571652d43f6492ec4ded44b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,16 @@@
++0001-Tweaks.patch
++1001-stop-building-libllvmopencl.so-which-is-no-longer-us.patch
++1014-add-POCL_EXPORT-to-additional-symbols-needed-by-the-.patch
++1015-add-POCL_EXPORT-to-additional-symbols-needed-if-hard.patch
++2002-link-against-single-shared-libclang-cpp-when-buildin.patch
++skip-subdevice-tests-on-single-core-cpus.patch
++test_printf.patch
++test_structs_as_args.patch
++generic-cpu.patch
++distro.patch
++verbose.patch
++2001-add-testcase-for-Debian-bug-975931.patch
++2003-restore-setting-unroll-threshold-on-LLVM-9.patch
++timeout.patch
++use-system-CL-headers.patch
++cl_ext_pocl.patch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e068291f08e79687a689eb2b873ec1e44387259a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,64 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: skip subdevice tests on (virtual) single core CPUs
++
++--- a/examples/EinsteinToolkit/CMakeLists.txt
+++++ b/examples/EinsteinToolkit/CMakeLists.txt
++@@ -54,5 +54,6 @@ if(NOT MIPS)
++     COST 15.0
++     LABELS "EinsteinToolkit"
++     ENVIRONMENT "POCL_AFFINITY=1"
+++    SKIP_RETURN_CODE 77
++     DEPENDS "pocl_version_check")
++ endif()
++--- a/examples/EinsteinToolkit/EinsteinToolkit.c
+++++ b/examples/EinsteinToolkit/EinsteinToolkit.c
++@@ -528,6 +528,16 @@ void setup(const char* program_source1,
++ 
++   if (use_subdev)
++     {
+++      {
+++        cl_uint max_cus;
+++        int err = clGetDeviceInfo (main_device_id, CL_DEVICE_MAX_COMPUTE_UNITS,
+++                                   sizeof(max_cus), &max_cus, NULL);
+++        assert (err == CL_SUCCESS);
+++        if (max_cus < 2) {
+++          fprintf(stderr, "Insufficient compute units for subdevice creation\n");
+++          exit(77);
+++        }
+++      }
++       const cl_device_partition_property props[]
++           = { CL_DEVICE_PARTITION_EQUALLY, 2, 0 };
++       cl_device_id subdevs[128];
++--- a/tests/runtime/CMakeLists.txt
+++++ b/tests/runtime/CMakeLists.txt
++@@ -87,7 +87,7 @@ add_test_pocl(NAME "runtime/clGetSupport
++ 
++ add_test_pocl(NAME "runtime/clCreateKernelsInProgram" COMMAND "test_clCreateKernelsInProgram")
++ 
++-add_test_pocl(NAME "runtime/clCreateSubDevices" COMMAND  "test_clCreateSubDevices")
+++add_test(NAME "runtime/clCreateSubDevices" COMMAND  "test_clCreateSubDevices")
++ 
++ add_test_pocl(NAME "runtime/test_event_free" COMMAND  "test_event_free")
++ 
++@@ -116,6 +116,10 @@ set_tests_properties( "runtime/clGetDevi
++     DEPENDS "pocl_version_check"
++     LABELS "internal;runtime")
++ 
+++set_tests_properties("runtime/clCreateSubDevices"
+++  PROPERTIES
+++    SKIP_RETURN_CODE 77)
+++
++ if(NOT ENABLE_ANYSAN)
++   set_tests_properties("runtime/clCreateKernelsInProgram"
++   PROPERTIES
++--- a/tests/runtime/test_clCreateSubDevices.c
+++++ b/tests/runtime/test_clCreateSubDevices.c
++@@ -140,7 +140,7 @@ int main(int argc, char **argv)
++     {
++       printf("This test requires a cl device with at least 2 compute units"
++              " (a dual-core or better CPU)\n");
++-      return 1;
+++      return 77;
++     }
++ 
++   err = clGetDeviceInfo(rootdev, CL_DEVICE_PARTITION_MAX_SUB_DEVICES,
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..da212ac1fce49301ab330a9005f847beff54fa52
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,40 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: HACK! kernel/test_printf fails on i686
++ #--- tests/kernel/test_printf_expout.txt
++ #+++ /tmp/cmake_testrun_tkeWb
++ @@ -145,10 +145,16 @@
++  0x1.4p+3,0x1.15p-141,0x1.52d02cp+78,0x0p+0
++  0x1.68p+6,0x1.2p+3,0x1.ccccccp-1,0x1.70a3d8p-4
++  0x1p+12,0x1p+0,0x1p-3,0x1p-7
++ -0xfa,0xfb
++ -0x1234,0x8765
++ +0xfa,0
++ +0x1234,0
++  0x12345678,0x87654321
++  |a|   b|c   |
++  |aa|  bb|cc  |dddddddddd|eeee|
++  |0x2349aacc|  0xdeaddeed|0x92820384  |
++ +
++ +PARAMETER PASSING
++ +
++ +* 0xfa,0 0xfb,0 ü
++ +* 0x1234,0 0x8765,0 ï
++ +* 0x12345678,0x87654321 0x2468ace0,0xfdb97531 .
++  OK
++Bug: https://github.com/pocl/pocl/issues/682
++Forwarded: not-needed
++
++--- a/tests/kernel/CMakeLists.txt
+++++ b/tests/kernel/CMakeLists.txt
++@@ -222,6 +222,11 @@ add_test_pocl(NAME "kernel/test_printf"
++               EXPECTED_OUTPUT "test_printf_expout.txt"
++               COMMAND "kernel" "test_printf")
++ 
+++if(LLC_HOST_CPU STREQUAL "i686")
+++  set_tests_properties("kernel/test_printf"
+++    PROPERTIES WILL_FAIL 1)
+++endif()
+++
++ add_test_pocl(NAME "kernel/test_sizeof_uint"
++               EXPECTED_OUTPUT "test_sizeof_expout.txt"
++               COMMAND "kernel" "test_sizeof")
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..53b31d9f96db6f9980bf614e41c73032d9cf5c35
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,33 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: HACK! regression/struct_kernel_arguments fails on i686
++ 141/143 Test  #85: regression/struct_kernel_arguments ..................................................***Failed  Error regular expression found in output. Regex=[FAIL]  4.58 sec
++ CMake Error at /build/pocl-1.4/cmake/run_test.cmake:34 (message):
++  FAIL: Test exited with nonzero code (1):
++  /build/pocl-1.4/obj-i686-linux-gnu/tests/regression/test_structs_as_args
++
++  STDOUT:
++
++  F(4: 0 != 5) F(5: -2147483648 != 6) F(6: 0 != 7) F(7: 0 != 8)
++
++  STDERR:
++
++
++
++ -- OK
++Bug: https://github.com/pocl/pocl/issues/801
++Forwarded: not-needed
++
++--- a/tests/regression/CMakeLists.txt
+++++ b/tests/regression/CMakeLists.txt
++@@ -249,6 +249,11 @@ add_test_pocl(NAME "regression/autolocal
++ 
++ add_test_pocl(NAME "regression/struct_kernel_arguments" COMMAND "test_structs_as_args")
++ 
+++if(LLC_HOST_CPU STREQUAL "i686")
+++  set_tests_properties("regression/struct_kernel_arguments"
+++    PROPERTIES WILL_FAIL 1)
+++endif()
+++
++ add_test_pocl(NAME "regression/vector_kernel_arguments" COMMAND "test_vectors_as_args")
++ 
++ set(TCE_TESTS "regression/barrier_between_two_for_loops_LOOPS"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..dedc87900b83a70e9dc0fe57f0ab8a4deff95479
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: kill hanging tests after 30 minutes
++
++--- a/cmake/run_test.cmake
+++++ b/cmake/run_test.cmake
++@@ -12,7 +12,7 @@ endif()
++ string(REPLACE "####" ";" test_cmd_separated "${test_cmd}")
++ 
++ execute_process(
++-  COMMAND ${test_cmd_separated}
+++  COMMAND timeout -k 60 1800 ${test_cmd_separated}
++   RESULT_VARIABLE test_not_successful
++   OUTPUT_VARIABLE stdout
++   ERROR_VARIABLE stderr
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cd4b4c3db9db752e50576feb4b83daa3c2664056
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: we move the embedded copy aside to use system CL headers
++Forwarded: no-needed
++
++--- a/include/CMakeLists.txt
+++++ b/include/CMakeLists.txt
++@@ -23,7 +23,7 @@
++ #
++ #=============================================================================
++ 
++-add_subdirectory("CL")
+++#add_subdirectory("CL")
++ 
++ set(PRIVATE_HEADERS _enable_all_exts.h _builtin_renames.h
++                     _kernel.h _clang_opencl.h
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..80c6af0aa196aceeedce38f7ffb448541b4b9558
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,17 @@@
++Author: Andreas Beckmann <anbe@debian.org>
++Description: dump some cmake information
++Forwarded: not-needed
++
++--- a/cmake/LLVM.cmake
+++++ b/cmake/LLVM.cmake
++@@ -24,6 +24,10 @@
++ #
++ #=============================================================================
++ 
+++MESSAGE(STATUS "CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME}")
+++MESSAGE(STATUS "CMAKE_HOST_SYSTEM_PROCESSOR: ${CMAKE_HOST_SYSTEM_PROCESSOR}")
+++MESSAGE(STATUS "CMAKE_LIBRARY_ARCHITECTURE: ${CMAKE_LIBRARY_ARCHITECTURE}")
+++
++ if(DEFINED WITH_LLVM_CONFIG AND WITH_LLVM_CONFIG)
++   # search for preferred version
++   if(IS_ABSOLUTE "${WITH_LLVM_CONFIG}")
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d4c905ba275dbc004de4bc037d5bc524fdc11414
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++Document: pocl-doc
++Title: Documentation for the pocl library
++Author: The pocl developers
++Section: Programming
++
++Format: HTML
++Index: /usr/share/doc/pocl-doc/html/index.html
++Files: /usr/share/doc/pocl-doc/html/*.html
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7a69846d00ee392c604ea81a4dfe79782be0e288
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++build-doc/html
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..724e0844955307c264b28a9319b65da3e99bb2c5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++README
++TODO
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..65491496652c437377b1a5f726e10579bcea10d7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++etc/OpenCL/vendors/pocl.icd
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aca7cada9db5543e68eb28733298c867387bf12a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# This is kind of a metapackage.
++package-contains-no-arch-dependent-files
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c57853e6771883c6394bdb3578d103df60ac7c40
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,127 @@@
++#!/usr/bin/make -f
++# See debhelper(7) (uncomment to enable)
++# output every command that modifies files on the build system.
++#DH_VERBOSE = 1
++
++# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
++DPKG_EXPORT_BUILDFLAGS = 1
++include /usr/share/dpkg/default.mk
++include /usr/share/dpkg/architecture.mk
++include /usr/share/dpkg/pkg-info.mk
++
++# see FEATURE AREAS in dpkg-buildflags(1)
++export DEB_BUILD_MAINT_OPTIONS = hardening=+all
++
++# see ENVIRONMENT in dpkg-buildflags(1)
++# package maintainers to append CFLAGS
++#export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
++
++LLVM_VERSION                   = $(shell sed -n -r '/^Build/,/^$$/s/.*llvm-([0-9]+)-dev.*/\1/p' debian/control)
++
++LLVM_ARCH-amd64                        = distro
++#LLVM_ARCH-amd64                       = x86-64
++#LLVM_ARCH-arm64                       = generic
++LLVM_ARCH-armel                        = arm946e-s            # arch=armv5te
++# armhf should rather be arch=armv7-a, e.g. cpu=cortex-a5 or similar with attr=+vfp3,+d16,+thumb2,-neon,-vfp4
++LLVM_ARCH-armhf                        = arm1156t2f-s
++LLVM_ARCH-hurd-i386            = $(LLVM_ARCH-i386)
++LLVM_ARCH-i386                         = i686                 # clang targets pentium4 by default
++LLVM_ARCH-kfreebsd-amd64       = $(LLVM_ARCH-amd64)
++LLVM_ARCH-kfreebsd-i386                = $(LLVM_ARCH-i386)
++#LLVM_ARCH-mips                        = mips32r2 # guess
++#LLVM_ARCH-mips64el            = mips64r2 # guess
++#LLVM_ARCH-mipsel              = mips32r2 # guess
++#LLVM_ARCH-powerpc             = ppc
++#LLVM_ARCH-ppc64                       = ppc64 # guess
++#LLVM_ARCH-ppc64el             = ppc64le
++#LLVM_ARCH-s390x                       = z10
++#LLVM_ARCH-sparc64             = v8 # guess
++LLVM_ARCH-x32                  = $(LLVM_ARCH-amd64)
++
++LLC_HOST_CPU   = $(or $(patsubst pocl_cpu=%,%,$(filter pocl_cpu=%,$(DEB_BUILD_OPTIONS))),$(LLVM_ARCH-$(DEB_HOST_ARCH)),GENERIC)
++
++# NEON, optional for Debian, must not be used
++EXTRA_HOST_CLANG_FLAGS-armhf   = -mfpu=vfp3-d16
++# TODO: export KERNEL_LIB_OPT_FLAGS= -mattr=-neon,+d16,+vfp3,-vfp4,+v7,+aclass,+thumb2
++
++# doc for symbols:
++# http://www.eyrie.org/~eagle/journal/2012-01/008.html
++# main packaging script based on dh7 syntax
++%:
++      dh $@ --with pkgkde_symbolshelper --buildsystem=cmake
++
++getval                         = $(or $($1-$(DEB_HOST_ARCH)),$($1))
++var2flag               = $(if $(strip $(call getval,$1)),-D$1="$(call getval,$1)")
++POCL_CONFIGURE_FLAGS   =
++POCL_CONFIGURE_FLAGS  += -DENABLE_ICD=yes
++POCL_CONFIGURE_FLAGS  += -DWITH_LLVM_CONFIG=/usr/bin/llvm-config-$(LLVM_VERSION)
++POCL_CONFIGURE_FLAGS  += $(if $(filter distro,$(LLC_HOST_CPU)),-DLLC_HOST_CPU=GENERIC -DKERNELLIB_HOST_CPU_VARIANTS=distro,-DLLC_HOST_CPU=$(LLC_HOST_CPU))
++POCL_CONFIGURE_FLAGS  += $(call var2flag,EXTRA_HOST_CLANG_FLAGS)
++POCL_CONFIGURE_FLAGS  += -DPOCL_ICD_ABSOLUTE_PATH=OFF
++POCL_CONFIGURE_FLAGS  += -DHARDENING_ENABLE=ON
++POCL_CONFIGURE_FLAGS  += -DVISIBILITY_HIDDEN=ON
++POCL_CONFIGURE_FLAGS  += -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=OFF
++
++execute_before_dh_auto_configure:
++      test ! -d include/CL || mv -v include/CL include/_CL
++      test ! -d include/OpenCL || mv -v include/OpenCL include/_OpenCL
++
++execute_after_dh_auto_clean:
++      test ! -d include/_CL || mv -v include/_CL include/CL
++      test ! -d include/_OpenCL || mv -v include/_OpenCL include/OpenCL
++
++override_dh_auto_configure:
++      @echo Using LLC_HOST_CPU=$(LLC_HOST_CPU)
++      -/usr/lib/llvm-$(LLVM_VERSION)/bin/llc -version
++      -/usr/lib/llvm-$(LLVM_VERSION)/bin/llc -mattr=help
++      dh_auto_configure -- $(POCL_CONFIGURE_FLAGS)
++
++override_dh_auto_build-indep:
++ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
++      sphinx-build -N -b html doc/sphinx/source build-doc/html
++else
++      mkdir -p build-doc/html
++endif
++
++override_dh_shlibdeps:
++      dh_shlibdeps -l/usr/lib/$(DEB_HOST_MULTIARCH)/pocl -- --warnings=7
++
++override_dh_auto_test-indep:
++override_dh_auto_test-arch:
++      # Failure in testsuite is delayed until symbols handling
++      # and all files are logged.
++      $(RM) debian/stamp-failed-testsuite
++      $(RM) -r debian/kcache
++      mkdir debian/kcache
++      env POCL_CACHE_DIR=$(CURDIR)/debian/kcache \
++              OCL_ICD_VENDORS=$(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)/ocl-vendors/pocl-tests.icd \
++              POCL_BUILDING=1 POCL_DEVICES=basic clinfo || touch debian/stamp-failed-testsuite
++      env POCL_CACHE_DIR=$(CURDIR)/debian/kcache \
++              OCL_ICD_VENDORS=$(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)/ocl-vendors/pocl-tests.icd \
++              POCL_BUILDING=1 clinfo || touch debian/stamp-failed-testsuite
++      @set -ex; if ! env POCL_CACHE_DIR="$(CURDIR)/debian/kcache" dh_auto_test ; then \
++              echo "***** The testsuite has failed! *****" ; \
++              touch debian/stamp-failed-testsuite; \
++      fi
++      $(RM) -r debian/kcache
++
++run_dh_makeshlibs:
++      dh_makeshlibs
++
++delayed_check_dh_auto_test_result: run_dh_makeshlibs
++      @set -ex; if test -f debian/stamp-failed-testsuite ; then \
++              echo "***** The testsuite has failed! *****" ; \
++              exit 1 ; \
++      fi
++      @test -f obj-*/Testing/Temporary/LastTest.log && echo 'The testsuite has passed all tests.' || echo '*** The testsuite was *NOT* run! ***'
++
++override_dh_makeshlibs: run_dh_makeshlibs delayed_check_dh_auto_test_result
++
++override_dh_gencontrol:
++      dh_gencontrol -- \
++              -V'LLVM:Version=$(LLVM_VERSION)' \
++
++
++fix-symbols:
++      pkgkde-getbuildlogs
++      echo "pkgkde-symbolshelper batchpatch -v $(DEB_VERSION_EPOCH_UPSTREAM) pocl_$(DEB_DISTRIBUTION)_logs/pocl_$(DEB_VERSION)_*build"
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aa75a96e059fdc6498cb9a6edd5ad6dcbc8651a5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++# the examples directory only contains CMakeFiles for external testsuites
++package-does-not-install-examples examples/
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..dcb39aa9c5f0cb50b395b8164bb9858bf37bccbf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++Bug-Database: https://github.com/pocl/pocl/issues
++Bug-Submit: https://github.com/pocl/pocl/issues/new
++Repository: https://github.com/pocl/pocl.git
++Repository-Browse: https://github.com/pocl/pocl
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..07b60fca4cea29cd3ee5d527fc80bdca5fe36de9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++version=4
++opts="uversionmangle=s/-RC(\d*)/~rc$1/, filenamemangle=s%(?:.*?)?v?(\d[\d.]*)\.tar\.gz%@PACKAGE@-$1.tar.gz%" \
++   https://github.com/pocl/pocl/releases \
++   (?:.*?/)?v?(\d[\d.RC-]*)\.tar\.gz debian uupdate