Commit 6dd99f19 authored by Ilija.Pavlovic's avatar Ilija.Pavlovic Committed by Commit bot

MIPS: Fix enabling v8 compilation with CLANG.

Updated toolchain.gypi to support v8 using CLANG on MIPS. These changes
include using integrated assembler with CLANG, and disabling options
used by GCC which are not supported by CLANG.

Reland https://codereview.chromium.org/1519493002 with fix to remove
duplicated 'conditions' sections.

TEST=
BUG=

Review URL: https://codereview.chromium.org/1530153003

Cr-Commit-Position: refs/heads/master@{#32963}
parent a44db052
...@@ -357,6 +357,9 @@ ...@@ -357,6 +357,9 @@
['ld_r_path!=""', { ['ld_r_path!=""', {
'ldflags': ['-Wl,--rpath=<(ld_r_path)'], 'ldflags': ['-Wl,--rpath=<(ld_r_path)'],
}], }],
[ 'clang==1', {
'cflags': ['-integrated-as'],
}],
], ],
}], }],
], ],
...@@ -406,7 +409,12 @@ ...@@ -406,7 +409,12 @@
'FPU_MODE_FP64', 'FPU_MODE_FP64',
], ],
'cflags!': ['-mfp32', '-mfpxx'], 'cflags!': ['-mfp32', '-mfpxx'],
'cflags': ['-mips32r6', '-Wa,-mips32r6'], 'conditions': [
[ 'clang==0', {
'cflags': ['-Wa,-mips32r6'],
}],
],
'cflags': ['-mips32r6'],
'ldflags': ['-mips32r6'], 'ldflags': ['-mips32r6'],
}], }],
['mips_arch_variant=="r2"', { ['mips_arch_variant=="r2"', {
...@@ -432,8 +440,11 @@ ...@@ -432,8 +440,11 @@
], ],
'cflags': ['-mfp32'], 'cflags': ['-mfp32'],
}], }],
[ 'clang==0', {
'cflags': ['-Wa,-mips32r2'],
}],
], ],
'cflags': ['-mips32r2', '-Wa,-mips32r2'], 'cflags': ['-mips32r2'],
'ldflags': ['-mips32r2'], 'ldflags': ['-mips32r2'],
}], }],
['mips_arch_variant=="r1"', { ['mips_arch_variant=="r1"', {
...@@ -441,7 +452,12 @@ ...@@ -441,7 +452,12 @@
'FPU_MODE_FP32', 'FPU_MODE_FP32',
], ],
'cflags!': ['-mfp64', '-mfpxx'], 'cflags!': ['-mfp64', '-mfpxx'],
'cflags': ['-mips32', '-Wa,-mips32'], 'conditions': [
[ 'clang==0', {
'cflags': ['-Wa,-mips32'],
}],
],
'cflags': ['-mips32'],
'ldflags': ['-mips32'], 'ldflags': ['-mips32'],
}], }],
['mips_arch_variant=="rx"', { ['mips_arch_variant=="rx"', {
...@@ -450,7 +466,12 @@ ...@@ -450,7 +466,12 @@
'FPU_MODE_FPXX', 'FPU_MODE_FPXX',
], ],
'cflags!': ['-mfp64', '-mfp32'], 'cflags!': ['-mfp64', '-mfp32'],
'cflags': ['-mips32', '-Wa,-mips32', '-mfpxx'], 'conditions': [
[ 'clang==0', {
'cflags': ['-Wa,-mips32'],
}],
],
'cflags': ['-mips32', '-mfpxx'],
'ldflags': ['-mips32'], 'ldflags': ['-mips32'],
}], }],
], ],
...@@ -589,7 +610,12 @@ ...@@ -589,7 +610,12 @@
'FPU_MODE_FP64', 'FPU_MODE_FP64',
], ],
'cflags!': ['-mfp32', '-mfpxx'], 'cflags!': ['-mfp32', '-mfpxx'],
'cflags': ['-mips32r6', '-Wa,-mips32r6'], 'conditions': [
[ 'clang==0', {
'cflags': ['-Wa,-mips32r6'],
}],
],
'cflags': ['-mips32r6'],
'ldflags': ['-mips32r6'], 'ldflags': ['-mips32r6'],
}], }],
['mips_arch_variant=="r2"', { ['mips_arch_variant=="r2"', {
...@@ -615,13 +641,21 @@ ...@@ -615,13 +641,21 @@
], ],
'cflags': ['-mfp32'], 'cflags': ['-mfp32'],
}], }],
[ 'clang==0', {
'cflags': ['-Wa,-mips32r2'],
}],
], ],
'cflags': ['-mips32r2', '-Wa,-mips32r2'], 'cflags': ['-mips32r2'],
'ldflags': ['-mips32r2'], 'ldflags': ['-mips32r2'],
}], }],
['mips_arch_variant=="r1"', { ['mips_arch_variant=="r1"', {
'cflags!': ['-mfp64', '-mfpxx'], 'cflags!': ['-mfp64', '-mfpxx'],
'cflags': ['-mips32', '-Wa,-mips32'], 'conditions': [
[ 'clang==0', {
'cflags': ['-Wa,-mips32'],
}],
],
'cflags': ['-mips32'],
'ldflags': ['-mips32'], 'ldflags': ['-mips32'],
}], }],
['mips_arch_variant=="rx"', { ['mips_arch_variant=="rx"', {
...@@ -630,7 +664,12 @@ ...@@ -630,7 +664,12 @@
'FPU_MODE_FPXX', 'FPU_MODE_FPXX',
], ],
'cflags!': ['-mfp64', '-mfp32'], 'cflags!': ['-mfp64', '-mfp32'],
'cflags': ['-mips32', '-Wa,-mips32', '-mfpxx'], 'conditions': [
[ 'clang==0', {
'cflags': ['-Wa,-mips32'],
}],
],
'cflags': ['-mips32', '-mfpxx'],
'ldflags': ['-mips32'], 'ldflags': ['-mips32'],
}], }],
['mips_arch_variant=="loongson"', { ['mips_arch_variant=="loongson"', {
...@@ -639,7 +678,12 @@ ...@@ -639,7 +678,12 @@
'FPU_MODE_FP32', 'FPU_MODE_FP32',
], ],
'cflags!': ['-mfp64', '-mfpxx'], 'cflags!': ['-mfp64', '-mfpxx'],
'cflags': ['-mips3', '-Wa,-mips3', '-mfp32'], 'conditions': [
[ 'clang==0', {
'cflags': ['-Wa,-mips3'],
}],
],
'cflags': ['-mips3', '-mfp32'],
}], }],
], ],
}, { }, {
...@@ -800,12 +844,22 @@ ...@@ -800,12 +844,22 @@
}], }],
['mips_arch_variant=="r6"', { ['mips_arch_variant=="r6"', {
'defines': ['_MIPS_ARCH_MIPS64R6',], 'defines': ['_MIPS_ARCH_MIPS64R6',],
'cflags': ['-mips64r6', '-mabi=64', '-Wa,-mips64r6'], 'conditions': [
[ 'clang==0', {
'cflags': ['-Wa,-mips64r6'],
}],
],
'cflags': ['-mips64r6', '-mabi=64'],
'ldflags': ['-mips64r6', '-mabi=64'], 'ldflags': ['-mips64r6', '-mabi=64'],
}], }],
['mips_arch_variant=="r2"', { ['mips_arch_variant=="r2"', {
'defines': ['_MIPS_ARCH_MIPS64R2',], 'defines': ['_MIPS_ARCH_MIPS64R2',],
'cflags': ['-mips64r2', '-mabi=64', '-Wa,-mips64r2'], 'conditions': [
[ 'clang==0', {
'cflags': ['-Wa,-mips64r2'],
}],
],
'cflags': ['-mips64r2', '-mabi=64'],
'ldflags': ['-mips64r2', '-mabi=64'], 'ldflags': ['-mips64r2', '-mabi=64'],
}], }],
], ],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment