summaryrefslogtreecommitdiff
path: root/INSTALL
diff options
context:
space:
mode:
authorcsilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>2008-02-13 00:55:09 +0000
committercsilvers <csilvers@6b5cf1ce-ec42-a296-1ba9-69fdba395a50>2008-02-13 00:55:09 +0000
commit8a0a3101bc6a7d56ac04b278f28bdf3f95b00a3c (patch)
tree46f871a3160a4023201d72b1b04a9a88e3d88b78 /INSTALL
parentb43ba444fcd74fa7c3260f6b2494dcbaa3fdb296 (diff)
downloadgperftools-8a0a3101bc6a7d56ac04b278f28bdf3f95b00a3c.tar.gz
Tue Feb 12 12:28:32 2008 Google Inc. <opensource@google.com>
* 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
Diffstat (limited to 'INSTALL')
-rw-r--r--INSTALL45
1 files changed, 31 insertions, 14 deletions
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.