| Index: third_party/tcmalloc/chromium/src/thread_cache.cc
|
| diff --git a/third_party/tcmalloc/chromium/src/thread_cache.cc b/third_party/tcmalloc/chromium/src/thread_cache.cc
|
| index 765786ff40302004b1b128bc38ebcafdf8309d58..cc03b65c00723fcf8d141440544336c05481e5f1 100644
|
| --- a/third_party/tcmalloc/chromium/src/thread_cache.cc
|
| +++ b/third_party/tcmalloc/chromium/src/thread_cache.cc
|
| @@ -64,7 +64,15 @@ int ThreadCache::thread_heap_count_ = 0;
|
| ThreadCache* ThreadCache::next_memory_steal_ = NULL;
|
| #ifdef HAVE_TLS
|
| __thread ThreadCache* ThreadCache::threadlocal_heap_
|
| -# ifdef HAVE___ATTRIBUTE__
|
| +// This code links against pyautolib.so, which causes dlopen() on that shared
|
| +// object to fail when -fprofile-generate is used with it. Ideally pyautolib.so
|
| +// should not link against this code. There is a bug filed for that:
|
| +// http://code.google.com/p/chromium/issues/detail?id=124489
|
| +// For now the workaround is to pass in -DPGO_GENERATE when building Chrome for
|
| +// instrumentation (-fprofile-generate).
|
| +// For all non-instrumentation builds, this define will not be set and the
|
| +// performance benefit of "intial-exec" will be achieved.
|
| +#if defined(HAVE___ATTRIBUTE__) && !defined(PGO_GENERATE)
|
| __attribute__ ((tls_model ("initial-exec")))
|
| # endif
|
| ;
|
|
|