Hello community, here is the log from the commit of package memkind for openSUSE:Factory checked in at 2020-08-20 22:34:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/memkind (Old) and /work/SRC/openSUSE:Factory/.memkind.new.3399 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "memkind" Thu Aug 20 22:34:38 2020 rev:5 rq:828259 version:1.10.0 Changes: -------- --- /work/SRC/openSUSE:Factory/memkind/memkind.changes 2019-12-17 16:54:41.345342747 +0100 +++ /work/SRC/openSUSE:Factory/.memkind.new.3399/memkind.changes 2020-08-20 22:34:51.584150566 +0200 @@ -1,0 +2,18 @@ +Tue Aug 18 08:19:30 UTC 2020 - Nicolas Morey-Chaisemartin <[email protected]> + +- Enable memkind builds for ppc64, ppc64le and s390x +- Update memking to version 1.10.0 with these changes: + * Provided another way to use Persistent Memory in memkind (MEMKIND_DAX_KMEM_* kinds) + * Added C++ allocator for static kinds (including MEMKIND_DAX_KMEM_* kinds) + * Provided an interface to get memkind allocation statistics + * Provided a method to reduce fragmentation - memkind_defrag_reallocate() + * Added support for background thread + * Updated internally used jemalloc to upstream version 5.2.1 + * Extended hbw interface with hbw_malloc_usable_size() + * Simplified building process +- Rebase memkind-fix-build.diff . +- Backport Add-missing-includes.patch from upstream to fix compilation + with GCC10 +- Use %configure for building + +------------------------------------------------------------------- Old: ---- memkind-1.9.0.tar.gz New: ---- Add-missing-includes.patch memkind-1.10.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ memkind.spec ++++++ --- /var/tmp/diff_new_pack.yl2e6f/_old 2020-08-20 22:34:52.816151142 +0200 +++ /var/tmp/diff_new_pack.yl2e6f/_new 2020-08-20 22:34:52.824151146 +0200 @@ -1,7 +1,7 @@ # # spec file for package memkind # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # @@ -20,9 +20,9 @@ Summary: User Extensible Heap Manager License: BSD-2-Clause Group: Development/Libraries/C and C++ -Version: 1.9.0 +Version: 1.10.0 Release: 0 -Url: http://memkind.github.io/memkind +URL: http://memkind.github.io/memkind BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: automake BuildRequires: gcc-c++ @@ -42,21 +42,15 @@ %define docdir %{_defaultdocdir}/%{namespace}-%{version} %endif -# x86_64 is the only arch memkind will build due to its -# current dependency on SSE4.2 CRC32 instruction which -# is used to compute thread local storage arena mappings -# with polynomial accumulations via GCC's intrinsic _mm_crc32_u64 -# For further info check: -# - /lib/gcc/<target>/<version>/include/smmintrin.h -# - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36095 -# - http://en.wikipedia.org/wiki/SSE4 -ExclusiveArch: x86_64 +ExclusiveArch: x86_64 ppc64 ppc64le s390x # default values if version is a tagged release on github %{!?commit: %define commit %{version}} %{!?buildsubdir: %define buildsubdir %{namespace}-%{commit}} Source0: https://github.com/%{namespace}/%{namespace}/archive/v%{commit}/%{buildsubdir}.tar.gz Patch0: memkind-fix-build.diff +# Upstream patch for GCC10 support. Will be available in 1.10.1 +Patch1: Add-missing-includes.patch %description The memkind library is an user extensible heap manager built on top @@ -91,18 +85,18 @@ %prep %setup -q -n memkind-%{version} -%patch0 -p1 +%patch0 +%patch1 %build export JE_PREFIX=jemk_ -./build_jemalloc.sh # Build memkind lib and tools cd %{_builddir}/%{buildsubdir} echo %{version} > %{_builddir}/%{buildsubdir}/VERSION test -f configure || ./autogen.sh -./configure CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" --prefix=%{_prefix} --libdir=%{_libdir} --includedir=%{_includedir} --sbindir=%{_sbindir} --mandir=%{_mandir} --docdir=%{_docdir}/%{namespace} --disable-static +%configure --docdir=%{_docdir}/%{namespace} --disable-static %{__make} %{?_smp_mflags} %install @@ -124,28 +118,23 @@ %doc %{_docdir}/%{namespace}/VERSION %dir %{_docdir}/%{namespace} %{_bindir}/%{namespace}-hbw-nodes +%{_bindir}/%{namespace}-auto-dax-kmem-nodes %{_mandir}/man1/memkind-hbw-nodes.1.* +%{_mandir}/man1/memkind-auto-dax-kmem-nodes.1.* %files -n libmemkind0 %{_libdir}/lib%{namespace}.so.* -%define internal_include memkind/internal - %files devel %defattr(-,root,root,-) -%dir %{_includedir}/memkind -%dir %{_includedir}/%{internal_include} %{_includedir}/hbwmalloc.h %{_includedir}/hbw_allocator.h %{_includedir}/memkind_deprecated.h +%{_includedir}/memkind_allocator.h %{_includedir}/pmem_allocator.h %{_libdir}/lib%{namespace}.so %{_libdir}/pkgconfig/memkind.pc %{_includedir}/%{namespace}.h -%{_includedir}/%{internal_include}/%{namespace}*.h -%{_includedir}/%{internal_include}/heap_manager.h -%{_includedir}/%{internal_include}/tbb_mem_pool_policy.h -%{_includedir}/%{internal_include}/tbb_wrapper.h %{_mandir}/man3/hbwmalloc.3.* %{_mandir}/man3/hbwallocator.3.* %{_mandir}/man3/%{namespace}*.3.* ++++++ Add-missing-includes.patch ++++++ commit 0c6a5dbf6c66480c2e2473c23db9a2ccb7689077 Author: Adam Borowski <[email protected]> Date: Wed Jan 22 12:34:07 2020 +0100 Add missing includes. According to the C++ standard, std::runtime_error is defined in <stdexcept>. That file used to be pulled by another header but that's no more. diff --git include/memkind_allocator.h include/memkind_allocator.h index a7036d51e6f9..45bde75768ef 100644 --- include/memkind_allocator.h +++ include/memkind_allocator.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Intel Corporation. + * Copyright (C) 2019 - 2020 Intel Corporation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -31,6 +31,7 @@ #include <exception> #include <type_traits> #include <cstddef> +#include <stdexcept> #include "memkind.h" diff --git include/pmem_allocator.h include/pmem_allocator.h index 964083cc055f..d373e3cf3278 100644 --- include/pmem_allocator.h +++ include/pmem_allocator.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2018 - 2019 Intel Corporation. + * Copyright (C) 2018 - 2020 Intel Corporation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -30,6 +30,7 @@ #include <type_traits> #include <atomic> #include <cstddef> +#include <stdexcept> #include "memkind.h" ++++++ memkind-1.9.0.tar.gz -> memkind-1.10.0.tar.gz ++++++ ++++ 43534 lines of diff (skipped) ++++++ memkind-fix-build.diff ++++++ --- /var/tmp/diff_new_pack.yl2e6f/_old 2020-08-20 22:34:53.168151307 +0200 +++ /var/tmp/diff_new_pack.yl2e6f/_new 2020-08-20 22:34:53.172151309 +0200 @@ -1,15 +1,25 @@ -We build with --disable-static, but the Makefile isn't completely -prepared for that, this removes the remaining hard-coded reference to -the static lib. -Index: memkind-1.9.0/Makefile.am -=================================================================== ---- memkind-1.9.0.orig/Makefile.am 2019-04-08 11:09:06.000000000 +0200 -+++ memkind-1.9.0/Makefile.am 2019-12-10 15:26:50.000000000 +0100 -@@ -421,7 +421,6 @@ memkind-$(VERSION).spec: +commit 5f4c89b9876e70e36b89742aed55e0c388ccaadf +Author: Michael Matz <[email protected]> +Date: Tue Aug 18 10:42:17 2020 +0200 + + memkind: fix build + + We build with --disable-static, but the Makefile isn't completely + prepared for that, this removes the remaining hard-coded reference to + the static lib. + + Signed-off-by: Nicolas Morey-Chaisemartin <[email protected]> + +diff --git Makefile.am Makefile.am +index 3f1f5791bb46..80918c5b2ac9 100644 +--- Makefile.am ++++ Makefile.am +@@ -477,7 +477,7 @@ memkind-$(VERSION).spec: rpm: dist $(MAKE) version="$(VERSION)" -f memkind.spec.mk $@ --all: static_lib +-all: jemalloc_deps static_lib ++all: jemalloc_deps # the script merge memkind and jemalloc libraries into one static library. define ar_prog
