| Index: third_party/tcmalloc/vendor/INSTALL
|
| ===================================================================
|
| --- third_party/tcmalloc/vendor/INSTALL (revision 126727)
|
| +++ third_party/tcmalloc/vendor/INSTALL (working copy)
|
| @@ -18,8 +18,8 @@
|
| already holds: deadlock.)
|
|
|
| For that reason, if you use a 64-bit system, we strongly recommend you
|
| -install libunwind before trying to configure or install gperftools.
|
| -libunwind can be found at
|
| +install libunwind before trying to configure or install google
|
| +perftools. libunwind can be found at
|
|
|
| http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-beta.tar.gz
|
|
|
| @@ -28,28 +28,21 @@
|
| versions introduce new code that does not work well with perftools
|
| (because libunwind can call malloc, which will lead to deadlock).
|
|
|
| -There have been reports of crashes with libunwind 0.99 (see
|
| -http://code.google.com/p/gperftools/issues/detail?id=374).
|
| -Alternately, you can use a more recent libunwind (e.g. 1.0.1) at the
|
| -cost of adding a bit of boilerplate to your code. For details, see
|
| -http://groups.google.com/group/google-perftools/msg/2686d9f24ac4365f
|
| +CAUTION: if you install libunwind from the url above, be aware that
|
| +you may have trouble if you try to statically link your binary with
|
| +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.
|
|
|
| - CAUTION: if you install libunwind from the url above, be aware that
|
| - you may have trouble if you try to statically link your binary with
|
| - 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.
|
|
|
| - 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.
|
|
|
| - Using -static is rare, though, so unless you know this will affect
|
| - you it probably won't.
|
| -
|
| If you cannot or do not wish to install libunwind, you can still try
|
| to use the built-in stack unwinder. The built-in stack unwinder
|
| requires that your application, the tcmalloc library, and system
|
| @@ -144,32 +137,21 @@
|
|
|
| Perftools has been tested on the following systems:
|
| FreeBSD 6.0 (x86)
|
| - FreeBSD 8.1 (x86_64)
|
| - Linux CentOS 5.5 (x86_64)
|
| - Linux Debian 4.0 (PPC)
|
| - Linux Debian 5.0 (x86)
|
| Linux Fedora Core 3 (x86)
|
| Linux Fedora Core 4 (x86)
|
| Linux Fedora Core 5 (x86)
|
| Linux Fedora Core 6 (x86)
|
| - Linux Fedora Core 13 (x86_64)
|
| - Linux Fedora Core 14 (x86_64)
|
| - Linux RedHat 9 (x86)
|
| - Linux Slackware 13 (x86_64)
|
| Linux Ubuntu 6.06.1 (x86)
|
| Linux Ubuntu 6.06.1 (x86_64)
|
| - Linux Ubuntu 10.04 (x86)
|
| - Linux Ubuntu 10.10 (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)
|
| Mac OS X 10.5 (Leopard) (x86)
|
| - Mac OS X 10.6 (Snow Leopard) (x86)
|
| - Solaris 10 (x86_64)
|
| - Windows XP, Visual Studio 2003 (VC++ 7.1) (x86)
|
| + Solaris 10 (x86)
|
| + Windows XP, Visual Studio 2003 (VC++ 7) (x86)
|
| Windows XP, Visual Studio 2005 (VC++ 8) (x86)
|
| - Windows XP, Visual Studio 2005 (VC++ 9) (x86)
|
| - Windows XP, Visual Studio 2005 (VC++ 10) (x86)
|
| Windows XP, MinGW 5.1.3 (x86)
|
| Windows XP, Cygwin 5.1 (x86)
|
|
|
| @@ -277,7 +259,7 @@
|
| installed as part of the Sun C++ compiler package.) See that
|
| section for a list of binaries, and instructions on building them.
|
|
|
| -** Windows (MSVC, Cygwin, and MinGW):
|
| +** Windows:
|
|
|
| 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,9 +268,10 @@
|
| 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) through VC++ 10.0,
|
| - 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) 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.
|
|
|
| Cygwin can compile some but not all of perftools. Furthermore,
|
| there is a problem with exception-unwinding in cygwin (it can call
|
|
|