From 8a0a3101bc6a7d56ac04b278f28bdf3f95b00a3c Mon Sep 17 00:00:00 2001 From: csilvers Date: Wed, 13 Feb 2008 00:55:09 +0000 Subject: Tue Feb 12 12:28:32 2008 Google Inc. * google-perftools: version 0.95 release * Better -- not perfect -- support for linux-ppc (csilvers) * Fix race condition in libunwind stacktrace (aruns) * Speed up x86 spinlock locking (m3b) * Improve heap-checker performance (maxim) * Heap checker traverses more ptrs inside heap-alloced objects (maxim) * Remove deprecated ProfilerThreadState function (cgd) * Update libunwind documentation for statically linked binaries (aruns) git-svn-id: http://gperftools.googlecode.com/svn/trunk@44 6b5cf1ce-ec42-a296-1ba9-69fdba395a50 --- INSTALL | 45 +++++++++++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 14 deletions(-) (limited to 'INSTALL') diff --git a/INSTALL b/INSTALL index a42e74b..d717ea6 100644 --- a/INSTALL +++ b/INSTALL @@ -32,6 +32,12 @@ perftools: that is, if you link with 'gcc -static -lgcc_eh ...'. This is because both libunwind and libgcc implement the same C++ exception handling APIs, but they implement them differently on some platforms. This is not likely to be a problem on ia64, but may be on x86-64. + +Also, if you link binaries statically, make sure that you add +-Wl,--eh-frame-hdr to your linker options. This is required so that +libunwind can find the information generated by the compiler required +for stack unwinding. + Using -static is rare, though, so unless you know this will affect you it probably won't. @@ -63,6 +69,7 @@ Perftools has been tested on the following systems: Linux Ubuntu 6.06.1 (x86) Linux Ubuntu 6.06.1 (x86_64) Linux RedHat 9 (x86) + Linux Debian 4.0 (PPC) Mac OS X 10.3.9 (Panther) (PowerPC) Mac OS X 10.4.8 (Tiger) (PowerPC) Mac OS X 10.4.8 (Tiger) (x86) @@ -72,9 +79,9 @@ Perftools has been tested on the following systems: Windows XP, Visual Studio 2005 (VC++ 8) (x86) Windows XP, MinGW 5.1.3 (x86) -It works in its full generality on all the Linux systems tested, both -x86 and x86_64 (though see 64-bit notes above). Portions of perftools -work on the other systems. The basic memory-allocation library, +It works in its full generality on the Linux x86 and x86_64 systems +tested (though see 64-bit notes above). Portions of perftools work on +the other systems. The basic memory-allocation library, tcmalloc_minimal, works on all systems. The cpu-profiler also works fairly widely. However, the heap-profiler and heap-checker are not yet as widely supported. @@ -107,23 +114,33 @@ above, by linking in libtcmalloc_minimal. is working fine. This only affects programs that call fork(); for most programs, the cpu profiler is entirely safe to use. - libtcmalloc.so does not successfully build, so neither do these - unittests that depend on it: - % make -k heap-profiler_unittest.sh heap-checker_unittest.sh \ - heap-checker-death_unittest.sh maybe_threads_unittest.sh \ - tcmalloc_unittest tcmalloc_both_unittest \ - tcmalloc_large_unittest + libtcmalloc.so successfully builds, and the "advanced" tcmalloc + functionality all works except for the leak-checker, which has + Linux-specific code: + % make heap-profiler_unittest.sh maybe_threads_unittest.sh \ + tcmalloc_unittest tcmalloc_both_unittest \ + tcmalloc_large_unittest # THESE WORK + % make -k heap-checker_unittest.sh \ + heap-checker-death_unittest.sh # THESE DO NOT I have not tested other *BSD systems, but they are probably similar. +** Linux/PPC: + + I've tested on a PowerPC Linux box using qemu against Debian Etch + (4.0). Most of the tests pass. The heap-checker unittest does not + pass for reasons which are not yet clear but seem to be related to + the clone() system call. Heap checking may work properly for + single-threaded programs, though I haven't tested that. + ** Mac OS X: - I've tested OS X 10.4 [Tiger] and OS X 10.3 [Panther] on both intel - (x86) and PowerPC systems. For Panther/ppc systems, perftools does - not work at all: it depends on a header file, OSAtomic.h, which is - new in 10.4. + I've tested OS X 10.5 [Leopard], OS X 10.4 [Tiger] and OS X 10.3 + [Panther] on both intel (x86) and PowerPC systems. For Panther/ppc + systems, perftools does not work at all: it depends on a header + file, OSAtomic.h, which is new in 10.4. - For the other three systems, the binaries and libraries that + For the other seven systems, the binaries and libraries that successfully build are exactly the same as for FreeBSD. See that section for a list of binaries and instructions on building them. -- cgit v1.2.1