Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53644087 authored by Paul Mundt's avatar Paul Mundt
Browse files

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
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -294,12 +294,20 @@ config CF_BASE_ADDR

menu "Processor features"

config CPU_LITTLE_ENDIAN
	bool "Little Endian"
choice
	prompt "Endianess selection" 
	default CPU_LITTLE_ENDIAN
	help
	  Some SuperH machines can be configured for either little or big
	  endian byte order. These modes require different kernels. Say Y if
	  your machine is little endian, N if it's a big endian machine.
	  endian byte order. These modes require different kernels.

config CPU_LITTLE_ENDIAN
	bool "Little Endian"

config CPU_BIG_ENDIAN
	bool "Big Endian"

endchoice

config SH_FPU
	bool "FPU support"
+9 −10
Original line number Diff line number Diff line
@@ -13,10 +13,6 @@
# for "archclean" and "archdep" for cleaning up and making dependencies for
# this architecture
#

cflags-y				:= -mb
cflags-$(CONFIG_CPU_LITTLE_ENDIAN)	:= -ml

isa-y					:= any
isa-$(CONFIG_SH_DSP)			:= sh
isa-$(CONFIG_CPU_SH2)			:= sh2
@@ -38,13 +34,16 @@ isa-y := $(isa-y)-nofpu
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_SH4)		+= -m4 \
cflags-$(CONFIG_CPU_SH2)		:= -m2
cflags-$(CONFIG_CPU_SH3)		:= -m3
cflags-$(CONFIG_CPU_SH4)		:= -m4 \
	$(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_KGDB)		+= -g