aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/Makefile
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2008-11-18 03:33:48 -0500
committerPaul Mundt <lethal@linux-sh.org>2008-12-22 04:42:53 -0500
commit1aad54a99b6ce316c851ba99b2efe41998cfd37d (patch)
tree287f90771c7da18a0841d40db1c0ce92ea7f5820 /arch/sh/Makefile
parente9bf51e5ccc7703226c79888603e157066213700 (diff)
sh: Migrate necessary libgcc bits in to arch/sh/lib for SUPERH32.
This moves in the necessary libgcc bits for SUPERH32 and drops the libgcc linking for the regular targets. This in turn allows us to rip out quite a few hacks both in sh_ksyms_32 and arch/sh/Makefile. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/Makefile')
-rw-r--r--arch/sh/Makefile19
1 files changed, 1 insertions, 18 deletions
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index c43eb0d7fa3b..22a1794287ad 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -34,22 +34,6 @@ cflags-$(CONFIG_CPU_SH4A) += $(call cc-option,-m4a,) \
34 $(call cc-option,-m4a-nofpu,) 34 $(call cc-option,-m4a-nofpu,)
35cflags-$(CONFIG_CPU_SH5) := $(call cc-option,-m5-32media-nofpu,) 35cflags-$(CONFIG_CPU_SH5) := $(call cc-option,-m5-32media-nofpu,)
36 36
37ifeq ($(cflags-y),)
38#
39# In the case where we are stuck with a compiler that has been uselessly
40# restricted to a particular ISA, a favourite default of newer GCCs when
41# extensive multilib targets are not provided, ensure we get the best fit
42# regarding FP generation. This is necessary to avoid references to FP
43# variants in libgcc where integer variants exist, which otherwise result
44# in link errors. This is intentionally stupid (albeit many orders of
45# magnitude less than GCC's default behaviour), as anything with a large
46# number of multilib targets better have been built correctly for
47# the target in mind.
48#
49cflags-y += $(shell $(CC) $(KBUILD_CFLAGS) -print-multi-lib | \
50 grep nofpu | sed q | sed -e 's/^/-/;s/;.*$$//')
51endif
52
53cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb 37cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb
54cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml 38cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml
55 39
@@ -176,8 +160,7 @@ KBUILD_AFLAGS += $(cflags-y)
176LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) 160LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name)
177 161
178libs-$(CONFIG_SUPERH32) := arch/sh/lib/ $(libs-y) 162libs-$(CONFIG_SUPERH32) := arch/sh/lib/ $(libs-y)
179libs-$(CONFIG_SUPERH64) := arch/sh/lib64/ $(libs-y) 163libs-$(CONFIG_SUPERH64) := arch/sh/lib64/ $(libs-y) $(LIBGCC)
180libs-y += $(LIBGCC)
181 164
182PHONY += maketools FORCE 165PHONY += maketools FORCE
183 166