[tbb] Don't snip -Wall from build flags

Petr Machata pmachata at fedoraproject.org
Tue Dec 3 11:24:29 UTC 2013


commit d5c7dbcb32145e9345c682172d49c936bd5eddbe
Author: Petr Machata <pmachata at redhat.com>
Date:   Tue Dec 3 12:21:02 2013 +0100

    Don't snip -Wall from build flags

 tbb-4.1-dont-snip-Wall.patch |   14 ++++++++++++++
 tbb.spec                     |   11 ++++++++++-
 2 files changed, 24 insertions(+), 1 deletions(-)
---
diff --git a/tbb-4.1-dont-snip-Wall.patch b/tbb-4.1-dont-snip-Wall.patch
new file mode 100644
index 0000000..400215c
--- /dev/null
+++ b/tbb-4.1-dont-snip-Wall.patch
@@ -0,0 +1,14 @@
+diff -up tbb41_20130314oss/build/Makefile.tbbmalloc\~ tbb41_20130314oss/build/Makefile.tbbmalloc
+--- tbb41_20130314oss/build/Makefile.tbbmalloc~	2013-12-03 11:58:27.304411388 +0100
++++ tbb41_20130314oss/build/Makefile.tbbmalloc	2013-12-03 11:59:03.568650698 +0100
+@@ -51,7 +51,7 @@ include $(tbb_root)/build/common_rules.i
+ MALLOC_CPLUS.OBJ = backend.$(OBJ) large_objects.$(OBJ) backref.$(OBJ)  tbbmalloc.$(OBJ)
+ MALLOC.OBJ := $(MALLOC_CPLUS.OBJ) $(MALLOC_ASM.OBJ) itt_notify_malloc.$(OBJ) frontend.$(OBJ)
+ PROXY.OBJ := proxy.$(OBJ) tbb_function_replacement.$(OBJ)
+-M_CPLUS_FLAGS := $(subst $(WARNING_KEY),,$(M_CPLUS_FLAGS)) $(DEFINE_KEY)__TBBMALLOC_BUILD=1
++M_CPLUS_FLAGS := -fno-strict-aliasing $(M_CPLUS_FLAGS) $(DEFINE_KEY)__TBBMALLOC_BUILD=1
+ M_INCLUDES = $(INCLUDES) $(INCLUDE_KEY)$(MALLOC_ROOT) $(INCLUDE_KEY)$(MALLOC_SOURCE_ROOT)
+ 
+ # Suppress superfluous warnings for TBBmalloc compilation
+
+Diff finished.  Tue Dec  3 11:59:07 2013
diff --git a/tbb.spec b/tbb.spec
index 4007b9d..f4922ca 100644
--- a/tbb.spec
+++ b/tbb.spec
@@ -10,7 +10,7 @@
 Summary: The Threading Building Blocks library abstracts low-level threading details
 Name: tbb
 Version: %{dotver}
-Release: 4.%{releasedate}%{?dist}
+Release: 5.%{releasedate}%{?dist}
 License: GPLv2 with exceptions
 Group: Development/Tools
 URL: http://threadingbuildingblocks.org/
@@ -30,6 +30,11 @@ Patch1: tbb-3.0-cxxflags.patch
 # which we still don't assume.
 Patch2: tbb-4.0-mfence.patch
 
+# Don't snip -Wall from C++ flags.  Add -fno-strict-aliasing, as that
+# uncovers some static-aliasing warnings.
+# Related: https://bugzilla.redhat.com/show_bug.cgi?id=1037347
+Patch3: tbb-4.1-dont-snip-Wall.patch
+
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: libstdc++-devel
 ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
@@ -69,6 +74,7 @@ C++ library.
 %setup -q -n %{sourcebasename}
 %patch1 -p1
 %patch2 -p1
+%patch3 -p1
 
 %build
 make %{?_smp_mflags} CXXFLAGS="$RPM_OPT_FLAGS" tbb_build_prefix=obj
@@ -125,6 +131,9 @@ rm -rf ${RPM_BUILD_ROOT}
 %doc doc/html
 
 %changelog
+* Tue Dec  3 2013 Petr Machata <pmachata at redhat.com> - 4.1-5.20130314
+- Fix building with -Werror=format-security (tbb-4.1-dont-snip-Wall.patch)
+
 * Thu Oct  3 2013 Petr Machata <pmachata at redhat.com> - 4.1-4.20130314
 - Fix %%install to also install include files that are not named *.h
 


More information about the scm-commits mailing list