summaryrefslogtreecommitdiffstats
path: root/third_party
diff options
context:
space:
mode:
authorglider@chromium.org <glider@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-13 09:22:15 +0000
committerglider@chromium.org <glider@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-13 09:22:15 +0000
commitc79e4a6527bd57c4947eae454da5e20dd0615a46 (patch)
tree3dd62e7a993d0ca388d04c111aedc5859245766a /third_party
parent1852c8eb07dd11961e32e75d324fe36015dea0d6 (diff)
downloadchromium_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.h4
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