aboutsummaryrefslogtreecommitdiffstats
path: root/cc/arm_device.go
diff options
context:
space:
mode:
authorTim Kilbourn <tkilbourn@google.com>2015-03-18 12:28:32 -0700
committerTim Kilbourn <tkilbourn@google.com>2015-03-18 17:19:35 -0700
commit1a9bf268adfa3fc314ea50162609bfaeea5bcba4 (patch)
treea00714851ed74a3620022651cd29f31de378f304 /cc/arm_device.go
parentc472d57f579a7d27ff77df9e6e997a33a0c5d098 (diff)
downloadbuild_soong-1a9bf268adfa3fc314ea50162609bfaeea5bcba4.tar.gz
build_soong-1a9bf268adfa3fc314ea50162609bfaeea5bcba4.tar.bz2
build_soong-1a9bf268adfa3fc314ea50162609bfaeea5bcba4.zip
Add an instruction_set property to Arch
Used to allow switching between thumb and arm ISAs Change-Id: I94aa83cee7179e83c97eedc32fd216965b626d33
Diffstat (limited to 'cc/arm_device.go')
-rw-r--r--cc/arm_device.go15
1 files changed, 12 insertions, 3 deletions
diff --git a/cc/arm_device.go b/cc/arm_device.go
index e33bd01b..8cd33e31 100644
--- a/cc/arm_device.go
+++ b/cc/arm_device.go
@@ -149,7 +149,7 @@ func init() {
// Extended cflags
- // ARM mode vs. Thumb mode
+ // ARM vs. Thumb instruction set flags
pctx.StaticVariable("armArmCflags", strings.Join(armArmCflags, " "))
pctx.StaticVariable("armThumbCflags", strings.Join(armThumbCflags, " "))
@@ -256,6 +256,17 @@ func (t *toolchainArm) IncludeFlags() string {
return "${armIncludeFlags}"
}
+func (t *toolchainArm) InstructionSetFlags(isa string) (string, error) {
+ switch isa {
+ case "arm":
+ return "${armArmCflags}", nil
+ case "thumb", "":
+ return "${armThumbCflags}", nil
+ default:
+ return t.toolchainBase.InstructionSetFlags(isa)
+ }
+}
+
func (t *toolchainArm) ClangTriple() string {
return "${armGccTriple}"
}
@@ -277,7 +288,6 @@ func armToolchainFactory(archVariant string, cpuVariant string) toolchain {
cflags: strings.Join([]string{
"${armCflags}",
"${armIncludeFlags}",
- "${armThumbCflags}",
armArchVariantCflagsVar[archVariant],
armCpuVariantCflagsVar[cpuVariant],
}, " "),
@@ -288,7 +298,6 @@ func armToolchainFactory(archVariant string, cpuVariant string) toolchain {
clangCflags: strings.Join([]string{
"${armClangCflags}",
"${armIncludeFlags}",
- "${armThumbCflags}",
armClangArchVariantCflagsVar[archVariant],
armClangCpuVariantCflagsVar[cpuVariant],
}, " "),