summaryrefslogtreecommitdiffstats
path: root/breakpad/BUILD.gn
diff options
context:
space:
mode:
authorljagielski <ljagielski@opera.com>2015-12-16 23:04:29 -0800
committerCommit bot <commit-bot@chromium.org>2015-12-17 07:05:01 +0000
commit176ff2c7a3285a851a534603e2e893664ec5ace7 (patch)
treed4f454a485de0e9cc6227c1849bce6ed0f6b5b92 /breakpad/BUILD.gn
parent8430ab46caf6988e34d8a6503822eb4e71f90e04 (diff)
downloadchromium_src-176ff2c7a3285a851a534603e2e893664ec5ace7.zip
chromium_src-176ff2c7a3285a851a534603e2e893664ec5ace7.tar.gz
chromium_src-176ff2c7a3285a851a534603e2e893664ec5ace7.tar.bz2
[Linux] Turn off -mstackrealign for breakpad in ia32.
There's a clang bug which causes crashes of syscalls which use many registers for argument passing in ia32 architecture. https://llvm.org/bugs/show_bug.cgi?id=16830 BUG=556393 Review URL: https://codereview.chromium.org/1473203002 Cr-Commit-Position: refs/heads/master@{#365770}
Diffstat (limited to 'breakpad/BUILD.gn')
-rw-r--r--breakpad/BUILD.gn14
1 files changed, 14 insertions, 0 deletions
diff --git a/breakpad/BUILD.gn b/breakpad/BUILD.gn
index be2fe55..231abcc 100644
--- a/breakpad/BUILD.gn
+++ b/breakpad/BUILD.gn
@@ -554,6 +554,13 @@ if (is_linux || is_android) {
cflags = [ "-marm" ]
}
+ if (current_cpu == "x86" && is_clang) {
+ # Clang's -mstackrealign doesn't work well with
+ # linux_syscall_support.h hand written asm syscalls.
+ # See https://crbug.com/556393
+ cflags -= [ "-mstackrealign" ]
+ }
+
if (is_android) {
sources += [ "src/common/android/breakpad_getcontext.S" ]
}
@@ -659,6 +666,13 @@ if (is_linux || is_android) {
libs = [ "log" ]
include_dirs += [ "src/common/android/include" ]
}
+
+ if (current_cpu == "x86" && is_clang) {
+ # Clang's -mstackrealign doesn't work well with
+ # linux_syscall_support.h hand written asm syscalls.
+ # See https://crbug.com/556393
+ cflags -= [ "-mstackrealign" ]
+ }
}
executable("linux_dumper_unittest_helper") {