bump version to 2.16rc

This commit is contained in:
Aliaksey Kandratsenka 2024-06-14 22:57:17 -04:00 committed by Aliaksei Kandratsenka
parent 362938f1f7
commit 6b8962d797
4 changed files with 106 additions and 11 deletions

View File

@ -5,14 +5,14 @@ cmake_minimum_required(VERSION 3.12)
# Based on configure.ac
project(gperftools VERSION 2.15 LANGUAGES C CXX
project(gperftools VERSION 2.15.90 LANGUAGES C CXX
DESCRIPTION "Performance tools for C++"
HOMEPAGE_URL https://github.com/gperftools/gperftools)
# Update this value for every release!
set(TCMALLOC_SO_VERSION 9.16.5)
set(PROFILER_SO_VERSION 5.11.5)
set(TCMALLOC_AND_PROFILER_SO_VERSION 10.11.6)
set(TCMALLOC_SO_VERSION 9.17.5)
set(PROFILER_SO_VERSION 5.12.5)
set(TCMALLOC_AND_PROFILER_SO_VERSION 10.12.6)
# The user can choose not to compile in the heap-profiler, the
# heap-checker, or the cpu-profiler. There's also the possibility

95
NEWS
View File

@ -1,3 +1,98 @@
== 16 September 2024
gperftools 2.16rc is out!
This release doesn't have major fixes or big headline features, but it
has quite a lot of internal modernizations and cleanups. By the number
of commits, 2.16 is going to be our biggest release ever.
This release's main focus was making our code and building
infrastructure simpler, more straightforward, more portable, and more
modern.
Please note that the gperftools 2.16 release will be the last release
with the heap leak checker included. The time has come to drop this
feature entirely. All users should migrate to relevant gcc/clang
sanitizers.
Here are the most notable changes:
* we've upgraded our C++ standard to C++ 17. Some fraction of our code
base was modernized.
* We've integrated (vendored copy of) GoogleTest, and most tests now
use it. GoogleTest has helped us eliminate some legacy code and
reduce the number of tests that use shell scripts.
* There are no more unnecessary wrappers around mutexes and threads
for unit tests. We now use C++ standard mutexes and threads in our
tests.
* We've done the bulk of the work necessary to enable hidden
visibility. The most significant change is that tests no longer
reach into libtcmalloc's guts. We use a special TestingPortal
interface instead. We now offer the --enable-hidden-visibility
configure option, which does what it says. But please note that
hidden visibility is off by default for now.
* autotools build was significantly refactored, modernized and
simplified.
* The cmake build has also been radically simplified. The previous
version attempted to duplicate the same complexity that we had in
the autotools build and did not do it very well. More tests now pass
under cmake. But please note that cmake support is still not
entirely functional, and we're not yet able to promise anything
about it.
* Thread-local storage access and emergency malloc integration have
been reworked. We now support emergency malloc even on systems with
emutls and similarly "bad" TLS support. As a result, backtracing is
now more reliable (e.g., on QNX).
* OSX operator new/delete performance has been improved. OSX's malloc
performance is badly compromised by its support of malloc zones, so
we cannot help much (the same applies to much of our competition
among memory allocators). But the C++ new/delete API doesn't have to
integrate with this stuff, so we now directly replace those
functions for a sizeable speedup. Note that OSX performance is still
not on par with other "prime tier" OSes due to its lack of efficient
TLS support.
* Long deprecated google/ headers have been deleted (use, e.g.,
"gperftools/tcmalloc.h" instead)
* All clang builds now use -Wthread-safety and actually check
thread-safety declarations
* Our code has stopped being incompatible with _TIME_BITS=64 on modern
GNU Linux systems (relevant only for 32-bit systems)
* OpenSolaris build has been verified and fixed when needed
Thanks to the following people for code contributions:
* Github user oPiZiL (build fix for gcc 7.5)
* Github user zhangdexin (qnx fixes)
* Ishant Goyal (support for configuring minimal per-thread cache size)
* Lennox Ho (several build fixes and several fixes around Windows support)
* Olivier Langlois
* Sergey Fedorovhas (another fix for building gperftools on old PPC
OSX computers)
* Xiang.Lin (several OSX fixes)
* Yikai Zhao (aarch64 generic_fp stack frame validation)
You can find the list of all GitHub issues fixes in this release here:
https://github.com/gperftools/gperftools/issues?q=label%3Afixed-in-2.16+is%3Aclosed
== 5 Jan 2024
gperftools 2.15 is out!

View File

@ -4,12 +4,12 @@
# make sure we're interpreted by some minimal autoconf
AC_PREREQ([2.69])
AC_INIT([gperftools],[2.15],[gperftools@googlegroups.com])
AC_INIT([gperftools],[2.15.90],[gperftools@googlegroups.com])
# Update this value for every release! (A:B:C will map to foo.so.(A-C).C.B)
# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
TCMALLOC_SO_VERSION=9:16:5
PROFILER_SO_VERSION=5:11:5
TCMALLOC_AND_PROFILER_SO_VERSION=10:11:6
TCMALLOC_SO_VERSION=9:17:5
PROFILER_SO_VERSION=5:12:5
TCMALLOC_AND_PROFILER_SO_VERSION=10:12:6
AC_SUBST(TCMALLOC_SO_VERSION)
AC_SUBST(PROFILER_SO_VERSION)
@ -20,7 +20,7 @@ AC_SUBST(TCMALLOC_AND_PROFILER_SO_VERSION)
AC_CONFIG_SRCDIR(README)
AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_HOST
AM_INIT_AUTOMAKE([dist-zip foreign])
AM_INIT_AUTOMAKE([dist-zip foreign tar-ustar])
AC_CONFIG_HEADERS([src/config.h])
AM_MAINTAINER_MODE()

View File

@ -44,8 +44,8 @@
/* Define the version number so folks can check against it */
#define TC_VERSION_MAJOR 2
#define TC_VERSION_MINOR 15
#define TC_VERSION_PATCH ""
#define TC_VERSION_STRING "gperftools 2.15"
#define TC_VERSION_PATCH ".90"
#define TC_VERSION_STRING "gperftools 2.15.90"
#ifndef _WIN32
/* For struct mallinfo, if it's defined. */