sh: Explicit endian selection support.
Previously big endian was simply assumed if little endian was not set, which led to some cflags ordering issues. There's not much point to not having a big endian option, so shove one in a choice and wire it up in the Makefile. This lets us clean up some of the cflags ordering while we're at it. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
@@ -294,12 +294,20 @@ config CF_BASE_ADDR
|
|||||||
|
|
||||||
menu "Processor features"
|
menu "Processor features"
|
||||||
|
|
||||||
config CPU_LITTLE_ENDIAN
|
choice
|
||||||
bool "Little Endian"
|
prompt "Endianess selection"
|
||||||
|
default CPU_LITTLE_ENDIAN
|
||||||
help
|
help
|
||||||
Some SuperH machines can be configured for either little or big
|
Some SuperH machines can be configured for either little or big
|
||||||
endian byte order. These modes require different kernels. Say Y if
|
endian byte order. These modes require different kernels.
|
||||||
your machine is little endian, N if it's a big endian machine.
|
|
||||||
|
config CPU_LITTLE_ENDIAN
|
||||||
|
bool "Little Endian"
|
||||||
|
|
||||||
|
config CPU_BIG_ENDIAN
|
||||||
|
bool "Big Endian"
|
||||||
|
|
||||||
|
endchoice
|
||||||
|
|
||||||
config SH_FPU
|
config SH_FPU
|
||||||
bool "FPU support"
|
bool "FPU support"
|
||||||
|
@@ -13,10 +13,6 @@
|
|||||||
# for "archclean" and "archdep" for cleaning up and making dependencies for
|
# for "archclean" and "archdep" for cleaning up and making dependencies for
|
||||||
# this architecture
|
# this architecture
|
||||||
#
|
#
|
||||||
|
|
||||||
cflags-y := -mb
|
|
||||||
cflags-$(CONFIG_CPU_LITTLE_ENDIAN) := -ml
|
|
||||||
|
|
||||||
isa-y := any
|
isa-y := any
|
||||||
isa-$(CONFIG_SH_DSP) := sh
|
isa-$(CONFIG_SH_DSP) := sh
|
||||||
isa-$(CONFIG_CPU_SH2) := sh2
|
isa-$(CONFIG_CPU_SH2) := sh2
|
||||||
@@ -38,13 +34,16 @@ isa-y := $(isa-y)-nofpu
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
cflags-y += $(call as-option,-Wa$(comma)-isa=$(isa-y),)
|
cflags-$(CONFIG_CPU_SH2) := -m2
|
||||||
|
cflags-$(CONFIG_CPU_SH3) := -m3
|
||||||
cflags-$(CONFIG_CPU_SH2) += -m2
|
cflags-$(CONFIG_CPU_SH4) := -m4 \
|
||||||
cflags-$(CONFIG_CPU_SH3) += -m3
|
|
||||||
cflags-$(CONFIG_CPU_SH4) += -m4 \
|
|
||||||
$(call cc-option,-mno-implicit-fp,-m4-nofpu)
|
$(call cc-option,-mno-implicit-fp,-m4-nofpu)
|
||||||
cflags-$(CONFIG_CPU_SH4A) += $(call cc-option,-m4a-nofpu,)
|
cflags-$(CONFIG_CPU_SH4A) := -m4a $(call cc-option,-m4a-nofpu,)
|
||||||
|
|
||||||
|
cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb
|
||||||
|
cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml
|
||||||
|
|
||||||
|
cflags-y += $(call as-option,-Wa$(comma)-isa=$(isa-y),)
|
||||||
|
|
||||||
cflags-$(CONFIG_SH_DSP) += -Wa,-dsp
|
cflags-$(CONFIG_SH_DSP) += -Wa,-dsp
|
||||||
cflags-$(CONFIG_SH_KGDB) += -g
|
cflags-$(CONFIG_SH_KGDB) += -g
|
||||||
|
Reference in New Issue
Block a user