[tbb] 60/64: Imported Debian patch 4.3~20150611-1~exp1
Graham Inggs
ginggs at moszumanska.debian.org
Mon Jul 3 12:28:09 UTC 2017
This is an automated email from the git hooks/post-receive script.
ginggs pushed a commit to branch master
in repository tbb.
commit fe6b4e737bf779e5b3d90819d845e62746034a64
Author: Steve Capper <steven.capper at gmail.com>
Date: Sat Jun 20 16:31:03 2015 +0100
Imported Debian patch 4.3~20150611-1~exp1
---
debian/changelog | 37 -----------------
debian/control | 14 +++----
debian/libtbb-dev.dirs | 3 ++
debian/libtbb-dev.install | 5 +--
debian/libtbb-dev.links | 7 ++--
debian/libtbb2.dirs | 1 +
debian/libtbb2.install | 3 +-
debian/patches/atomic-rework.patch | 68 -------------------------------
debian/patches/gcc-atomic-always.patch | 15 -------
debian/patches/gcc-atomic-detection.patch | 20 ---------
debian/patches/ppc32_atomics.patch | 28 +++++++++++++
debian/patches/series | 4 +-
debian/rules | 5 +--
debian/tbb-examples.README.Debian | 2 +-
debian/tbb.pc.in | 6 +--
15 files changed, 50 insertions(+), 168 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 7689c04..636638b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,40 +1,3 @@
-tbb (4.3~20150611-0.1) unstable; urgency=medium
-
- * Non-maintainer upload.
-
- [ Matthias Klose ]
- * Upload version from experimental to sid, fixing build with GCC 5.
- Closes: #778139.
- * The architecture list is now marked as linux-any. Closes: #748876.
- * Multiarchify the packages (Marc Glisse). Closes: #751689.
- * The new upstream fixes the check for __TBB_CPP11_TYPE_PROPERTIES_PRESENT.
- Closes: #779553.
-
- [ Adam Conrad ]
- * gcc-atomic-detection.patch: Fix the gcc atomic detection to work for
- gcc-5.x and up, as well as adding -latomic to LIBS (closes: #787084)
- * gcc-atomic-always.patch: Always define TBB_USE_GCC_BUILTINS for GCC.
- * debian/tbb.pc.in: Add -latomic to the pkg-config file for the above.
-
- -- Matthias Klose <doko at debian.org> Sat, 05 Sep 2015 19:06:39 +0200
-
-tbb (4.3~20150611-1~exp3) experimental; urgency=medium
-
- * Put Mathieu's ppc32 gcc atomic disable patch back in (it shouldn't
- have been removed).
- * Switch target architecture to linux-any.
- * Go full atomic, move all __sync to __atomic.
-
- -- Steve Capper <steven.capper at gmail.com> Fri, 03 Jul 2015 20:20:34 +0100
-
-tbb (4.3~20150611-1~exp2) experimental; urgency=medium
-
- * Replace __sync_val_compare_and_swap with __atomic_compare_exchange_n for
- gcc_generic.h
- - Original patch by Mathieu Malaterre, some logic has been tweaked.
-
- -- Steve Capper <steven.capper at gmail.com> Thu, 02 Jul 2015 19:32:04 +0100
-
tbb (4.3~20150611-1~exp1) experimental; urgency=medium
* New upstream release.
diff --git a/debian/control b/debian/control
index b3bc756..86682cb 100644
--- a/debian/control
+++ b/debian/control
@@ -1,15 +1,14 @@
Source: tbb
Priority: extra
Maintainer: Steve Capper <steven.capper at gmail.com>
-Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.16.1~), libjs-jquery, dh-exec (>=0.3)
+Build-Depends: debhelper (>= 9), dpkg-dev (>= 1.16.1~), libjs-jquery
Standards-Version: 3.9.6
Section: libs
Homepage: http://threadingbuildingblocks.org/
Package: libtbb-dev
Section: libdevel
-Architecture: linux-any
-Multi-arch: same
+Architecture: amd64 arm64 armhf hppa i386 powerpc ppc64el
Depends: libtbb2 (= ${binary:Version}), ${misc:Depends}
Suggests: tbb-examples, libtbb-doc
Description: parallelism library for C++ - development files
@@ -25,9 +24,7 @@ Description: parallelism library for C++ - development files
This package includes the TBB development files.
Package: libtbb2
-Architecture: linux-any
-Multi-arch: same
-Pre-Depends: ${misc:Pre-Depends}
+Architecture: amd64 arm64 armhf hppa i386 powerpc ppc64el
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: parallelism library for C++ - runtime files
TBB is a library that helps you leverage multi-core processor
@@ -43,8 +40,7 @@ Description: parallelism library for C++ - runtime files
Package: libtbb2-dbg
Section: debug
-Architecture: linux-any
-Multi-arch: same
+Architecture: amd64 arm64 armhf hppa i386 powerpc ppc64el
Depends: libtbb2 (= ${binary:Version}), ${misc:Depends}
Description: parallelism library for C++ - debugging symbols
TBB is a library that helps you leverage multi-core processor
@@ -73,7 +69,7 @@ Description: parallelism library for C++ - documentation
Package: tbb-examples
Section: doc
-Architecture: linux-any
+Architecture: amd64 arm64 armhf hppa i386 powerpc ppc64el
Depends: ${misc:Depends}
Recommends: libtbb-dev, libtbb-doc
Description: parallelism library for C++ - example files
diff --git a/debian/libtbb-dev.dirs b/debian/libtbb-dev.dirs
new file mode 100644
index 0000000..13cdd2e
--- /dev/null
+++ b/debian/libtbb-dev.dirs
@@ -0,0 +1,3 @@
+usr/include
+usr/lib
+usr/lib/pkgconfig
diff --git a/debian/libtbb-dev.install b/debian/libtbb-dev.install
old mode 100755
new mode 100644
index 80f6d75..d1207d3
--- a/debian/libtbb-dev.install
+++ b/debian/libtbb-dev.install
@@ -1,4 +1,3 @@
-#! /usr/bin/dh-exec
include/tbb usr/include
-build/linux_*_release/lib*.so usr/lib/${DEB_HOST_MULTIARCH}
-debian/tbb.pc usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig
+build/linux_*_release/lib*.so usr/lib
+debian/tbb.pc usr/lib/pkgconfig
diff --git a/debian/libtbb-dev.links b/debian/libtbb-dev.links
old mode 100755
new mode 100644
index 6ec86aa..670c903
--- a/debian/libtbb-dev.links
+++ b/debian/libtbb-dev.links
@@ -1,4 +1,3 @@
-#! /usr/bin/dh-exec
-usr/lib/${DEB_HOST_MULTIARCH}/libtbb.so.2 usr/lib/${DEB_HOST_MULTIARCH}/libtbb.so
-usr/lib/${DEB_HOST_MULTIARCH}/libtbbmalloc.so.2 usr/lib/${DEB_HOST_MULTIARCH}/libtbbmalloc.so
-usr/lib/${DEB_HOST_MULTIARCH}/libtbbmalloc_proxy.so.2 usr/lib/${DEB_HOST_MULTIARCH}/libtbbmalloc_proxy.so
+usr/lib/libtbb.so.2 usr/lib/libtbb.so
+usr/lib/libtbbmalloc.so.2 usr/lib/libtbbmalloc.so
+usr/lib/libtbbmalloc_proxy.so.2 usr/lib/libtbbmalloc_proxy.so
diff --git a/debian/libtbb2.dirs b/debian/libtbb2.dirs
new file mode 100644
index 0000000..6845771
--- /dev/null
+++ b/debian/libtbb2.dirs
@@ -0,0 +1 @@
+usr/lib
diff --git a/debian/libtbb2.install b/debian/libtbb2.install
old mode 100755
new mode 100644
index c61a3cd..a94ab11
--- a/debian/libtbb2.install
+++ b/debian/libtbb2.install
@@ -1,2 +1 @@
-#! /usr/bin/dh-exec
-build/linux_*_release/lib*.so.* usr/lib/${DEB_HOST_MULTIARCH}
+build/linux_*_release/lib*.so.* usr/lib
diff --git a/debian/patches/atomic-rework.patch b/debian/patches/atomic-rework.patch
deleted file mode 100644
index 267ba18..0000000
--- a/debian/patches/atomic-rework.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-Description: Use gcc __atomic instead of __sync
-Author: Original author Mathieu Malaterre <malat at debian.org>
- Promoted to gcc_generic.h and extended by Steve Capper <steven.capper at gmail.com>
-
-Index: tbb-4.3~20150611/include/tbb/machine/gcc_generic.h
-===================================================================
---- tbb-4.3~20150611.orig/include/tbb/machine/gcc_generic.h
-+++ tbb-4.3~20150611/include/tbb/machine/gcc_generic.h
-@@ -55,18 +55,22 @@
- fence usages where a more lightweight synchronization means (or none at all)
- could suffice. Thus if you use this header to enable TBB on a new platform,
- consider forking it and relaxing below helpers as appropriate. **/
--#define __TBB_acquire_consistency_helper() __sync_synchronize()
--#define __TBB_release_consistency_helper() __sync_synchronize()
--#define __TBB_full_memory_fence() __sync_synchronize()
--#define __TBB_control_consistency_helper() __sync_synchronize()
-+#define __TBB_acquire_consistency_helper() __atomic_thread_fence(__ATOMIC_SEQ_CST)
-+#define __TBB_release_consistency_helper() __atomic_thread_fence(__ATOMIC_SEQ_CST)
-+#define __TBB_full_memory_fence() __atomic_thread_fence(__ATOMIC_SEQ_CST)
-+#define __TBB_control_consistency_helper() __atomic_thread_fence(__ATOMIC_SEQ_CST)
-
- #define __TBB_MACHINE_DEFINE_ATOMICS(S,T) \
- inline T __TBB_machine_cmpswp##S( volatile void *ptr, T value, T comparand ) { \
-- return __sync_val_compare_and_swap(reinterpret_cast<volatile T *>(ptr),comparand,value); \
-+ T retval = comparand; \
-+ if (__atomic_compare_exchange_n(reinterpret_cast<volatile T *>(ptr), &retval, value, \
-+ false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)) \
-+ return retval; \
-+ return retval; \
- } \
- \
- inline T __TBB_machine_fetchadd##S( volatile void *ptr, T value ) { \
-- return __sync_fetch_and_add(reinterpret_cast<volatile T *>(ptr),value); \
-+ return __atomic_fetch_add(reinterpret_cast<volatile T *>(ptr), value, __ATOMIC_SEQ_CST); \
- } \
-
- __TBB_MACHINE_DEFINE_ATOMICS(1,int8_t)
-@@ -87,24 +91,25 @@ static inline intptr_t __TBB_machine_lg(
- }
-
- static inline void __TBB_machine_or( volatile void *ptr, uintptr_t addend ) {
-- __sync_fetch_and_or(reinterpret_cast<volatile uintptr_t *>(ptr),addend);
-+ __atomic_fetch_or(reinterpret_cast<volatile uintptr_t *>(ptr), addend,
-+ __ATOMIC_SEQ_CST);
- }
-
- static inline void __TBB_machine_and( volatile void *ptr, uintptr_t addend ) {
-- __sync_fetch_and_and(reinterpret_cast<volatile uintptr_t *>(ptr),addend);
-+ __atomic_fetch_and(reinterpret_cast<volatile uintptr_t *>(ptr), addend,
-+ __ATOMIC_SEQ_CST);
- }
-
--
- typedef unsigned char __TBB_Flag;
-
- typedef __TBB_atomic __TBB_Flag __TBB_atomic_flag;
-
- inline bool __TBB_machine_try_lock_byte( __TBB_atomic_flag &flag ) {
-- return __sync_lock_test_and_set(&flag,1)==0;
-+ return !__atomic_test_and_set(&flag, __ATOMIC_ACQUIRE);
- }
-
- inline void __TBB_machine_unlock_byte( __TBB_atomic_flag &flag ) {
-- __sync_lock_release(&flag);
-+ __atomic_clear(&flag, __ATOMIC_RELEASE);
- }
-
- // Machine specific atomic operations
diff --git a/debian/patches/gcc-atomic-always.patch b/debian/patches/gcc-atomic-always.patch
deleted file mode 100644
index 8e7c72a..0000000
--- a/debian/patches/gcc-atomic-always.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Description: Always define TBB_USE_GCC_BUILTINS on GCC.
-Author: Adam Conrad <adconrad at ubuntu.com>
-
---- tbb-4.3~20150611.orig/include/tbb/tbb_machine.h
-+++ tbb-4.3~20150611/include/tbb/tbb_machine.h
-@@ -231,6 +231,9 @@ template<> struct atomic_selector<8> {
-
- #elif __linux__ || __FreeBSD__ || __NetBSD__
-
-+ #ifndef TBB_USE_GCC_BUILTINS
-+ #define TBB_USE_GCC_BUILTINS 1
-+ #endif
- #if (TBB_USE_GCC_BUILTINS && __TBB_GCC_BUILTIN_ATOMICS_PRESENT)
- #include "machine/gcc_generic.h"
- #elif (TBB_USE_ICC_BUILTINS && __TBB_ICC_BUILTIN_ATOMICS_PRESENT)
diff --git a/debian/patches/gcc-atomic-detection.patch b/debian/patches/gcc-atomic-detection.patch
deleted file mode 100644
index f7f1cc5..0000000
--- a/debian/patches/gcc-atomic-detection.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Description: Fix the gcc atomic detection to work for
- gcc-5.x and up, as well as adding -latomic to LIBS
-Author: Adam Conrad <adconrad at ubuntu.com>
-Bug-Debian: https://bugs.debian.org/787084
-Last-Update: 2015-08-11
-
---- tbb-4.3~20150611.orig/build/linux.gcc.inc
-+++ tbb-4.3~20150611/build/linux.gcc.inc
-@@ -49,8 +49,10 @@ ifneq (,$(shell gcc -dumpversion | egrep
- endif
-
- # gcc 4.8 and later support RTM intrinsics, but require command line switch to enable them
--ifneq (,$(shell gcc -dumpversion | egrep "^4\.[8-9]"))
-+# furthemore, on gcc 4.8 and later, some arches require -ltatomic to use atomic intrinsics
-+ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[8-9]|[5-9])"))
- RTM_KEY = -mrtm
-+ LIBS += -latomic
- endif
-
- ifeq ($(cfg), release)
diff --git a/debian/patches/ppc32_atomics.patch b/debian/patches/ppc32_atomics.patch
new file mode 100644
index 0000000..41e5aab
--- /dev/null
+++ b/debian/patches/ppc32_atomics.patch
@@ -0,0 +1,28 @@
+Description: Make the test suite compile on ppc32
+ where atomics implementation are missing
+ The code simply check ppc32 vs ppc64, the macros are defined on gcc 4.9.1
+Author: Mathieu Malaterre <malat at debian.org>
+Bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63368
+Bug-Debian: http://bugs.debian.org/762656
+
+Index: tbb-4.3~20150611/include/tbb/tbb_config.h
+===================================================================
+--- tbb-4.3~20150611.orig/include/tbb/tbb_config.h
++++ tbb-4.3~20150611/include/tbb/tbb_config.h
+@@ -268,7 +268,16 @@
+ /* TODO: change the version back to 4.1.2 once macro __TBB_WORD_SIZE become optional */
+ #if __TBB_GCC_VERSION >= 40306 || __INTEL_COMPILER >= 1200
+ /** built-in atomics available in GCC since 4.1.2 **/
++#if __PPC__
++#if __PPC64__
+ #define __TBB_GCC_BUILTIN_ATOMICS_PRESENT 1
++#else
++ // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63368
++ #define __TBB_GCC_BUILTIN_ATOMICS_PRESENT 0
++#endif
++#else
++ #define __TBB_GCC_BUILTIN_ATOMICS_PRESENT 1
++#endif
+ #endif
+
+ #if __INTEL_COMPILER >= 1200
diff --git a/debian/patches/series b/debian/patches/series
index 09bab0b..d482aa1 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,6 +4,4 @@ failonbadtests.patch
buildi386.patch
linuxreleasedetect.patch
tally-unit-test-fails.patch
-atomic-rework.patch
-gcc-atomic-detection.patch
-gcc-atomic-always.patch
+ppc32_atomics.patch
diff --git a/debian/rules b/debian/rules
index 1bb657b..48ad354 100755
--- a/debian/rules
+++ b/debian/rules
@@ -14,9 +14,8 @@ CXXFLAGS+=$(CPPFLAGS)
VERSION = $(shell dpkg-parsechangelog | grep '^Version' | cut -d' ' -f2 | cut -f1 -d-)
override_dh_auto_build:
- sed -e"s/@VERSION@/$(VERSION)/g;s/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g" \
- debian/tbb.pc.in > debian/tbb.pc
- dh_auto_build
+ sed -e"s/@VERSION@/$(VERSION)/g" debian/tbb.pc.in > debian/tbb.pc
+ dh_auto_build
# Makefiles should not be compressed (tbb-examples)
override_dh_compress-indep:
diff --git a/debian/tbb-examples.README.Debian b/debian/tbb-examples.README.Debian
index 884abed..a8742ca 100644
--- a/debian/tbb-examples.README.Debian
+++ b/debian/tbb-examples.README.Debian
@@ -4,7 +4,7 @@ tbb for Debian
This is the Intel Threading Building Blocks package. It comes from the
"Commercial Aligned Release" series of TBB releases.
-This package ships a pkg-config file in /usr/lib/*/pkgconfig/tbb.pc. Here is
+This package ships a pkg-config file in /usr/lib/pkgconfig/tbb.pc. Here is
an example of how it is used:
gcc -o test test.c `pkg-config --libs --cflags tbb`
diff --git a/debian/tbb.pc.in b/debian/tbb.pc.in
index ea06864..140fe33 100644
--- a/debian/tbb.pc.in
+++ b/debian/tbb.pc.in
@@ -1,11 +1,11 @@
prefix=/usr
exec_prefix=${prefix}
-libdir=${exec_prefix}/lib/@DEB_HOST_MULTIARCH@
+libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: Threading Building Blocks
Description: Intel's parallelism library for C++
URL: http://www.threadingbuildingblocks.org/
Version: @VERSION@
-Libs: -ltbb -latomic
-Cflags:
+Libs: -L${libdir} -ltbb
+Cflags: -I${includedir}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/tbb.git
More information about the debian-science-commits
mailing list