summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcsilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>2011-12-23 00:45:49 +0000
committercsilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>2011-12-23 00:45:49 +0000
commit2a7b3b88371c2f78ab31be202f384fd0ed466890 (patch)
tree0c7c986bff25035cb92018fd1aa92800f4741a3e
parent75f5a791bc1c0af0ddf43453c18f44723884f37e (diff)
downloadgperftools-2a7b3b88371c2f78ab31be202f384fd0ed466890.tar.gz
Thu Dec 22 16:22:45 2011 Google Inc. <opensource@google.com>
* google-perftools: version 1.9 release * Lightweight check for double-frees (blount) * BUGFIX: Fix pprof to exit properly if run with no args (dagitses) * Suggest ASan as a way to diagnose buggy code (ppluzhnikov) * Get rid of unused CACHELINE_SIZE (csilvers) * Replace atexit() calls with global dtors; helps freebsd (csilvers) * Disable heap-checker under AddressSanitizer (kcc) * Fix bug in powerpc stacktracing (ppluzhnikov) * PERF: Use exponential backoff waiting for spinlocks (m3b) * Fix 64-bit nm on 32-bit binaries in pprof (csilvers) * Add ProfileHandlerDisallowForever (rsc) * BUGFIX: Shell escape when forking in pprof (csilvers) * No longer combine overloaded functions in pprof (csilvers) * Fix address-normalizing bug in pprof (csilvers) * More consistently call abort() instead of exit() on failure (csilvers) * Allow NoGlobalLeaks to be safely called more than once (csilvers) * PORTING/BUGFIX: Fix ARM cycleclock to use volatile asm (dougkwan) * PORTING: 64-bit atomic ops for ARMv7 (dougkwan) * PORTING: Implement stacktrace for ARM (dougkwan) * PORTING: Fix malloc_hook_mmap_linux for ARM (dougkwan) * PORTING: Update linux_syscall_support.h for ARM/etc (evannier, sanek) * PORTING: Fix freebsd to work on x86_64 (chapp...@gmail.com) * PORTING: Added additional SYS_mmap fixes for FreeBSD (chappedm) * PORTING: Allow us to compile on OS X 10.6 and run on 10.5 (raltherr) * PORTING: Check for mingw compilers that *do* define timespec * PORTING: Add "support" for MIPS cycletimer * PORTING: Fix fallback cycle-timer to work with Now (dougkwan) * PERF: Move stack trace collecting out of the mutex (taylorc) * PERF: Get the deallocation stack trace outside the mutex (sean) * Make PageHeap dynamically allocated for leak checks (maxim) * BUGFIX: Fix probing of nm -f behavior in pprof (dpeng) * BUGFIX: Fix a race with the CentralFreeList lock before main (sanjay) * Support /pprof/censusprofile url arguments (rajatjain) * Change IgnoreObject to return its argument (nlewycky) * Update malloc-hook files to support more CPUs * BUGFIX: write our own strstr to avoid libc problems (csilvers) * Use simple callgrind compression facility in pprof * Print an error message when we can't run pprof to symbolize (csilvers) * Die in configure when g++ is't installed (csilvers) * DOC: Beef up the documentation a bit about using libunwind (csilvers) git-svn-id: http://gperftools.googlecode.com/svn/trunk@130 6b5cf1ce-ec42-a296-1ba9-69fdba395a50
-rw-r--r--ChangeLog43
-rw-r--r--INSTALL9
-rw-r--r--NEWS14
-rwxr-xr-xconfigure100
-rw-r--r--configure.ac12
-rw-r--r--packages/deb/changelog6
-rwxr-xr-xsrc/pprof2
-rw-r--r--src/windows/config.h4
8 files changed, 146 insertions, 44 deletions
diff --git a/ChangeLog b/ChangeLog
index 60222ac..a3deb26 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,46 @@
+Thu Dec 22 16:22:45 2011 Google Inc. <opensource@google.com>
+
+ * google-perftools: version 1.9 release
+ * Lightweight check for double-frees (blount)
+ * BUGFIX: Fix pprof to exit properly if run with no args (dagitses)
+ * Suggest ASan as a way to diagnose buggy code (ppluzhnikov)
+ * Get rid of unused CACHELINE_SIZE (csilvers)
+ * Replace atexit() calls with global dtors; helps freebsd (csilvers)
+ * Disable heap-checker under AddressSanitizer (kcc)
+ * Fix bug in powerpc stacktracing (ppluzhnikov)
+ * PERF: Use exponential backoff waiting for spinlocks (m3b)
+ * Fix 64-bit nm on 32-bit binaries in pprof (csilvers)
+ * Add ProfileHandlerDisallowForever (rsc)
+ * BUGFIX: Shell escape when forking in pprof (csilvers)
+ * No longer combine overloaded functions in pprof (csilvers)
+ * Fix address-normalizing bug in pprof (csilvers)
+ * More consistently call abort() instead of exit() on failure (csilvers)
+ * Allow NoGlobalLeaks to be safely called more than once (csilvers)
+ * PORTING/BUGFIX: Fix ARM cycleclock to use volatile asm (dougkwan)
+ * PORTING: 64-bit atomic ops for ARMv7 (dougkwan)
+ * PORTING: Implement stacktrace for ARM (dougkwan)
+ * PORTING: Fix malloc_hook_mmap_linux for ARM (dougkwan)
+ * PORTING: Update linux_syscall_support.h for ARM/etc (evannier, sanek)
+ * PORTING: Fix freebsd to work on x86_64 (chapp...@gmail.com)
+ * PORTING: Added additional SYS_mmap fixes for FreeBSD (chappedm)
+ * PORTING: Allow us to compile on OS X 10.6 and run on 10.5 (raltherr)
+ * PORTING: Check for mingw compilers that *do* define timespec
+ * PORTING: Add "support" for MIPS cycletimer
+ * PORTING: Fix fallback cycle-timer to work with Now (dougkwan)
+ * PERF: Move stack trace collecting out of the mutex (taylorc)
+ * PERF: Get the deallocation stack trace outside the mutex (sean)
+ * Make PageHeap dynamically allocated for leak checks (maxim)
+ * BUGFIX: Fix probing of nm -f behavior in pprof (dpeng)
+ * BUGFIX: Fix a race with the CentralFreeList lock before main (sanjay)
+ * Support /pprof/censusprofile url arguments (rajatjain)
+ * Change IgnoreObject to return its argument (nlewycky)
+ * Update malloc-hook files to support more CPUs
+ * BUGFIX: write our own strstr to avoid libc problems (csilvers)
+ * Use simple callgrind compression facility in pprof
+ * Print an error message when we can't run pprof to symbolize (csilvers)
+ * Die in configure when g++ is't installed (csilvers)
+ * DOC: Beef up the documentation a bit about using libunwind (csilvers)
+
Fri Aug 26 13:29:25 2011 Google Inc. <opensource@google.com>
* google-perftools: version 1.8.3 release
diff --git a/INSTALL b/INSTALL
index babf5a4..d7be5eb 100644
--- a/INSTALL
+++ b/INSTALL
@@ -277,7 +277,7 @@ above, by linking in libtcmalloc_minimal.
installed as part of the Sun C++ compiler package.) See that
section for a list of binaries, and instructions on building them.
-** Windows:
+** Windows (MSVC, Cygwin, and MinGW):
Work on Windows is rather preliminary: we haven't found a good way
to get stack traces in release mode on windows (that is, when FPO
@@ -286,10 +286,9 @@ above, by linking in libtcmalloc_minimal.
all. But as in other ports, the basic tcmalloc library
functionality, overriding malloc and new and such (and even
windows-specific functions like _aligned_malloc!), is working fine,
- at least with VC++ 7.1 (Visual Studio 2003) and VC++ 8.0
- (Visual Studio 2005), in both debug and release modes. See
- README.windows for instructions on how to install on Windows using
- Visual Studio.
+ at least with VC++ 7.1 (Visual Studio 2003) through VC++ 10.0,
+ in both debug and release modes. See README.windows for
+ instructions on how to install on Windows using Visual Studio.
Cygwin can compile some but not all of perftools. Furthermore,
there is a problem with exception-unwinding in cygwin (it can call
diff --git a/NEWS b/NEWS
index 6821cca..32ab628 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,16 @@
-== 26 August 2011 ==
+== 22 December 2011 ==
+
+I've just released perftools 1.9
+
+This change has a slew of improvements, from better ARM and freebsd
+support, to improved performance by moving some code outside of locks,
+to better pprof reporting of code with overloaded functions.
+
+The full list of changes is in the
+[http://google-perftools.googlecode.com/svn/tags/google-perftools-1.9/ChangeLog ChangeLog].
+
+
+=== 26 August 2011 ===
I've just released perftools 1.8.3
diff --git a/configure b/configure
index b7d252a..c2f9205 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65 for google-perftools 1.8.3.
+# Generated by GNU Autoconf 2.65 for google-perftools 1.9.
#
# Report bugs to <opensource@google.com>.
#
@@ -701,8 +701,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='google-perftools'
PACKAGE_TARNAME='google-perftools'
-PACKAGE_VERSION='1.8.3'
-PACKAGE_STRING='google-perftools 1.8.3'
+PACKAGE_VERSION='1.9'
+PACKAGE_STRING='google-perftools 1.9'
PACKAGE_BUGREPORT='opensource@google.com'
PACKAGE_URL=''
@@ -770,6 +770,8 @@ LIBSTDCXX_LA_LINKER_FLAG
NANOSLEEP_LIBS
HAVE_W_NO_UNUSED_RESULT_FALSE
HAVE_W_NO_UNUSED_RESULT_TRUE
+I386_FALSE
+I386_TRUE
X86_64_AND_NO_FP_BY_DEFAULT_FALSE
X86_64_AND_NO_FP_BY_DEFAULT_TRUE
ENABLE_FRAME_POINTERS_FALSE
@@ -1472,7 +1474,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures google-perftools 1.8.3 to adapt to many kinds of systems.
+\`configure' configures google-perftools 1.9 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1543,7 +1545,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of google-perftools 1.8.3:";;
+ short | recursive ) echo "Configuration of google-perftools 1.9:";;
esac
cat <<\_ACEOF
@@ -1653,7 +1655,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-google-perftools configure 1.8.3
+google-perftools configure 1.9
generated by GNU Autoconf 2.65
Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2238,7 +2240,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by google-perftools $as_me 1.8.3, which was
+It was created by google-perftools $as_me 1.9, which was
generated by GNU Autoconf 2.65. Invocation command line was
$ $0 $@
@@ -2590,8 +2592,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# 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=2:2:2
-PROFILER_SO_VERSION=1:2:1
+TCMALLOC_SO_VERSION=3:0:3
+PROFILER_SO_VERSION=2:0:2
@@ -2983,7 +2985,7 @@ fi
# Define the identity of the package.
PACKAGE='google-perftools'
- VERSION='1.8.3'
+ VERSION='1.9'
cat >>confdefs.h <<_ACEOF
@@ -5613,13 +5615,13 @@ if test "${lt_cv_nm_interface+set}" = set; then :
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:5616: $ac_compile\"" >&5)
+ (eval echo "\"\$as_me:5618: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
- (eval echo "\"\$as_me:5619: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval echo "\"\$as_me:5621: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
- (eval echo "\"\$as_me:5622: output\"" >&5)
+ (eval echo "\"\$as_me:5624: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@@ -6824,7 +6826,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 6827 "configure"' > conftest.$ac_ext
+ echo '#line 6829 "configure"' > conftest.$ac_ext
if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -8697,11 +8699,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8700: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8702: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:8704: \$? = $ac_status" >&5
+ echo "$as_me:8706: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -9036,11 +9038,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:9039: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9041: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:9043: \$? = $ac_status" >&5
+ echo "$as_me:9045: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -9141,11 +9143,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:9144: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9146: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:9148: \$? = $ac_status" >&5
+ echo "$as_me:9150: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -9196,11 +9198,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:9199: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9201: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:9203: \$? = $ac_status" >&5
+ echo "$as_me:9205: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -11580,7 +11582,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11583 "configure"
+#line 11585 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11676,7 +11678,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11679 "configure"
+#line 11681 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -13632,11 +13634,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13635: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13637: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:13639: \$? = $ac_status" >&5
+ echo "$as_me:13641: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -13731,11 +13733,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13734: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13736: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13738: \$? = $ac_status" >&5
+ echo "$as_me:13740: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -13783,11 +13785,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:13786: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:13788: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:13790: \$? = $ac_status" >&5
+ echo "$as_me:13792: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -15953,6 +15955,36 @@ fi
rm fp.s
CFLAGS="$OLD_CFLAGS"
+# We need to know if we're i386 so we can turn on -mmms, which is not
+# on by default for i386 (it is for x86_64).
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+return __i386__ == 1 ? 0 : 1
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ is_i386=yes
+else
+ is_i386=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+
+if test "$is_i386" = yes; then
+ I386_TRUE=
+ I386_FALSE='#'
+else
+ I386_TRUE='#'
+ I386_FALSE=
+fi
+
+
# See if the compiler supports -Wno-unused-result.
# Newer ubuntu's turn on -D_FORTIFY_SOURCE=2, enabling
# __attribute__((warn_unused_result)) for things like write(),
@@ -17305,6 +17337,10 @@ if test -z "${X86_64_AND_NO_FP_BY_DEFAULT_TRUE}" && test -z "${X86_64_AND_NO_FP_
as_fn_error "conditional \"X86_64_AND_NO_FP_BY_DEFAULT\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${I386_TRUE}" && test -z "${I386_FALSE}"; then
+ as_fn_error "conditional \"I386\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${HAVE_W_NO_UNUSED_RESULT_TRUE}" && test -z "${HAVE_W_NO_UNUSED_RESULT_FALSE}"; then
as_fn_error "conditional \"HAVE_W_NO_UNUSED_RESULT\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -17749,7 +17785,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by google-perftools $as_me 1.8.3, which was
+This file was extended by google-perftools $as_me 1.9, which was
generated by GNU Autoconf 2.65. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -17815,7 +17851,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-google-perftools config.status 1.8.3
+google-perftools config.status 1.9
configured by $0, generated by GNU Autoconf 2.65,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 771c83e..2172844 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,11 +4,11 @@
# make sure we're interpreted by some minimal autoconf
AC_PREREQ(2.57)
-AC_INIT(google-perftools, 1.8.3, opensource@google.com)
+AC_INIT(google-perftools, 1.9, opensource@google.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=2:2:2
-PROFILER_SO_VERSION=1:2:1
+TCMALLOC_SO_VERSION=3:0:3
+PROFILER_SO_VERSION=2:0:2
AC_SUBST(TCMALLOC_SO_VERSION)
AC_SUBST(PROFILER_SO_VERSION)
@@ -238,6 +238,12 @@ AM_CONDITIONAL(X86_64_AND_NO_FP_BY_DEFAULT,
rm fp.s
CFLAGS="$OLD_CFLAGS"
+# We need to know if we're i386 so we can turn on -mmms, which is not
+# on by default for i386 (it is for x86_64).
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM(, [return __i386__ == 1 ? 0 : 1])],
+ [is_i386=yes], [is_i386=no])
+AM_CONDITIONAL(I386, test "$is_i386" = yes)
+
# See if the compiler supports -Wno-unused-result.
# Newer ubuntu's turn on -D_FORTIFY_SOURCE=2, enabling
# __attribute__((warn_unused_result)) for things like write(),
diff --git a/packages/deb/changelog b/packages/deb/changelog
index 703500b..73673e4 100644
--- a/packages/deb/changelog
+++ b/packages/deb/changelog
@@ -1,3 +1,9 @@
+google-perftools (1.9-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Google Inc. <opensource@google.com> Thu, 22 Dec 2011 16:22:45 -0800
+
google-perftools (1.8-1) unstable; urgency=low
* New upstream release.
diff --git a/src/pprof b/src/pprof
index 238bcba..b591848 100755
--- a/src/pprof
+++ b/src/pprof
@@ -72,7 +72,7 @@ use strict;
use warnings;
use Getopt::Long;
-my $PPROF_VERSION = "1.8.3";
+my $PPROF_VERSION = "1.9";
# These are the object tools we use which can come from a
# user-specified location using --tools, from the PPROF_TOOLS
diff --git a/src/windows/config.h b/src/windows/config.h
index 8594967..f802c50 100644
--- a/src/windows/config.h
+++ b/src/windows/config.h
@@ -222,7 +222,7 @@
#define PACKAGE_NAME "google-perftools"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "google-perftools 1.8.3"
+#define PACKAGE_STRING "google-perftools 1.9"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "google-perftools"
@@ -231,7 +231,7 @@
#undef PACKAGE_URL
/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.8.3"
+#define PACKAGE_VERSION "1.9"
/* How to access the PC from a struct ucontext */
#undef PC_FROM_UCONTEXT