diff options
author | Paul Mundt <lethal@linux-sh.org> | 2008-11-18 03:33:48 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-12-22 04:42:53 -0500 |
commit | 1aad54a99b6ce316c851ba99b2efe41998cfd37d (patch) | |
tree | 287f90771c7da18a0841d40db1c0ce92ea7f5820 /arch/sh/Makefile | |
parent | e9bf51e5ccc7703226c79888603e157066213700 (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/Makefile | 19 |
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,) |
35 | cflags-$(CONFIG_CPU_SH5) := $(call cc-option,-m5-32media-nofpu,) | 35 | cflags-$(CONFIG_CPU_SH5) := $(call cc-option,-m5-32media-nofpu,) |
36 | 36 | ||
37 | ifeq ($(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 | # | ||
49 | cflags-y += $(shell $(CC) $(KBUILD_CFLAGS) -print-multi-lib | \ | ||
50 | grep nofpu | sed q | sed -e 's/^/-/;s/;.*$$//') | ||
51 | endif | ||
52 | |||
53 | cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb | 37 | cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb |
54 | cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml | 38 | cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml |
55 | 39 | ||
@@ -176,8 +160,7 @@ KBUILD_AFLAGS += $(cflags-y) | |||
176 | LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) | 160 | LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) |
177 | 161 | ||
178 | libs-$(CONFIG_SUPERH32) := arch/sh/lib/ $(libs-y) | 162 | libs-$(CONFIG_SUPERH32) := arch/sh/lib/ $(libs-y) |
179 | libs-$(CONFIG_SUPERH64) := arch/sh/lib64/ $(libs-y) | 163 | libs-$(CONFIG_SUPERH64) := arch/sh/lib64/ $(libs-y) $(LIBGCC) |
180 | libs-y += $(LIBGCC) | ||
181 | 164 | ||
182 | PHONY += maketools FORCE | 165 | PHONY += maketools FORCE |
183 | 166 | ||