Commit 53644087 authored by Paul Mundt's avatar Paul Mundt

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: default avatarPaul Mundt <lethal@linux-sh.org>
parent 52e27782
...@@ -294,12 +294,20 @@ config CF_BASE_ADDR ...@@ -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 @@ ...@@ -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 ...@@ -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
......
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