diff options
author | asharif@chromium.org <asharif@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-24 23:56:07 +0000 |
---|---|---|
committer | asharif@chromium.org <asharif@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-24 23:56:07 +0000 |
commit | fde23027bb02883852c2c626d63ac25c44c7d52b (patch) | |
tree | bf81886d5e4125a35b688a6ea6f2b6b82dc35a8d /third_party/adobe/flash | |
parent | 80ec0c328c49a012c21b6b47e1239f5460fa5348 (diff) | |
download | chromium_src-fde23027bb02883852c2c626d63ac25c44c7d52b.zip chromium_src-fde23027bb02883852c2c626d63ac25c44c7d52b.tar.gz chromium_src-fde23027bb02883852c2c626d63ac25c44c7d52b.tar.bz2 |
Added compile-time define to gate "initial-exec" attribute.
The "initial-exec" attribute is added to the ThreadCache::threadlocal_heap_
variable under normal compilation. This causes the linker to emit a
R_X86_64_TPOFF64 relocation in the _pyautolib.so shared object. This relocation
can cause python to error with:
cannot allocate memory in static TLS block
when it calls dlopen() on _pyautolib.so (when the import statement is
interpreted).
This only happens when the TLS section is large enough. Building Chrome with
-fprofile-generate to add some instrumentation-related data to the TLS is enough
to trigger this condition.
This CL encloses the function attribute in #if ! defined(PGO_GENERATE). When
Chrome is built with -fprofile-generate, we will also pass in -DPGO_GENERATE and
-ftls-model=global-dynamic so profile data can be collected without any errors.
BUG=none
TEST=Rebuilt chromeos-chrome in the chroot with -fprofile-generate
-ftls-model=global-dynamic -DPGO_GENERATE && ran pyautoperf autotests.
Review URL: http://codereview.chromium.org/10035012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133810 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/adobe/flash')
0 files changed, 0 insertions, 0 deletions