diff options
author | Tim Kilbourn <tkilbourn@google.com> | 2015-03-18 12:28:32 -0700 |
---|---|---|
committer | Tim Kilbourn <tkilbourn@google.com> | 2015-03-18 17:19:35 -0700 |
commit | 1a9bf268adfa3fc314ea50162609bfaeea5bcba4 (patch) | |
tree | a00714851ed74a3620022651cd29f31de378f304 /cc/arm_device.go | |
parent | c472d57f579a7d27ff77df9e6e997a33a0c5d098 (diff) | |
download | build_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.go | 15 |
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], }, " "), |