[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