diff options
author | glider@chromium.org <glider@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-13 09:22:15 +0000 |
---|---|---|
committer | glider@chromium.org <glider@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-13 09:22:15 +0000 |
commit | c79e4a6527bd57c4947eae454da5e20dd0615a46 (patch) | |
tree | 3dd62e7a993d0ca388d04c111aedc5859245766a /third_party | |
parent | 1852c8eb07dd11961e32e75d324fe36015dea0d6 (diff) | |
download | chromium_src-c79e4a6527bd57c4947eae454da5e20dd0615a46.zip chromium_src-c79e4a6527bd57c4947eae454da5e20dd0615a46.tar.gz chromium_src-c79e4a6527bd57c4947eae454da5e20dd0615a46.tar.bz2 |
Force 16-byte alignment of the stack for the thread lister.
This is necessary to prevent SSE4-enabled code from crashing when
accessing *SP.
BUG=113598
Review URL: https://chromiumcodereview.appspot.com/7491045
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121687 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party')
-rw-r--r-- | third_party/tcmalloc/chromium/src/base/linux_syscall_support.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h b/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h index 79beafa..f11f823 100644 --- a/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h +++ b/third_party/tcmalloc/chromium/src/base/linux_syscall_support.h @@ -1645,8 +1645,10 @@ struct kernel_statfs { "testq %5,%5\n" "jz 1f\n" - /* childstack -= 2*sizeof(void *); + /* Set up alignment of the child stack: + * child_stack = (child_stack & ~0xF) - 16; */ + "andq $-16,%5\n" "subq $16,%5\n" /* Push "arg" and "fn" onto the stack that will be |