aboutsummaryrefslogtreecommitdiffhomepage
path: root/gyp
diff options
context:
space:
mode:
authorGravatar milko.leporis <milko.leporis@imgtec.com>2016-06-05 13:14:21 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-06-05 13:14:21 -0700
commit401e77cfe126eea1a12bd81410871fdb80739283 (patch)
tree1904f87310a09ed1eeacf50a70ba73ae9cdc812d /gyp
parent863689c3f468acdd9b9e06e0835c5fd1e2cad4c6 (diff)
MIPS32r2: Fix Chromium runtime crash
Crash is caused by ldxc1 instruction, which traps when double values are not aligned on 8-byte boundaries. Problem was tracked to SkChunkAlloc which produces pointers aligned on 4-byte boundaries leading to misalignment. This change makes sure that SkChunkAlloc will produce pointers that are aligned to 8 bytes. Appropriate tests are added to tests/MemsetTest.cpp TEST=Build Chromium with Clang and run on MIPS32r2 platform TEST=./out/Debug/dm --match Memset BUG=130022 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1849183004 Review-Url: https://codereview.chromium.org/1849183004
Diffstat (limited to 'gyp')
-rw-r--r--gyp/common_conditions.gypi18
1 files changed, 11 insertions, 7 deletions
diff --git a/gyp/common_conditions.gypi b/gyp/common_conditions.gypi
index 4f387e9883..a9b012406d 100644
--- a/gyp/common_conditions.gypi
+++ b/gyp/common_conditions.gypi
@@ -306,13 +306,17 @@
],
}],
[ '"mips" in skia_arch_type', {
- 'cflags': [ '-EL' ],
- 'conditions': [
- [ 'mips_arch_variant == "mips32r2"', {
- 'cflags': [ '-march=mips32r2' ],
- 'conditions': [
- [ 'mips_dsp == 1', { 'cflags': [ '-mdsp' ] }],
- [ 'mips_dsp == 2', { 'cflags': [ '-mdspr2' ] }],
+ 'target_conditions': [
+ [ '_toolset == "target"', {
+ 'cflags' : ['-EL'],
+ 'conditions' : [
+ [ 'mips_arch_variant == "mips32r2"', {
+ 'cflags': [ '-march=mips32r2' ],
+ 'conditions': [
+ [ 'mips_dsp == 1', { 'cflags': [ '-mdsp' ] }],
+ [ 'mips_dsp == 2', { 'cflags': [ '-mdspr2' ] }],
+ ],
+ }],
],
}],
],