[U-Boot-Users] [MIPS] Add PIC-related switches to PLATFORM_{CPP, LD}FLAGS and cleanup

Shinya Kuribayashi skuribay at ruby.dti.ne.jp
Sat Oct 20 17:47:27 CEST 2007


From: Shinya Kuribayashi <shinya.kuribayashi at necel.com>

Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi at necel.com>
---

 cpu/mips/config.mk |    4 +---
 mips_config.mk     |   25 +++++++++++++++++++++++++
 2 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/cpu/mips/config.mk b/cpu/mips/config.mk
index b29986e..1f2860e 100644
--- a/cpu/mips/config.mk
+++ b/cpu/mips/config.mk
@@ -35,6 +35,4 @@ else
 ENDIANNESS = -EB
 endif
 
-MIPSFLAGS += $(ENDIANNESS) -mabicalls
-
-PLATFORM_CPPFLAGS += $(MIPSFLAGS)
+PLATFORM_CPPFLAGS += $(ENDIANNESS)
diff --git a/mips_config.mk b/mips_config.mk
index d8aa5fa..67fb67d 100644
--- a/mips_config.mk
+++ b/mips_config.mk
@@ -22,3 +22,28 @@
 #
 
 PLATFORM_CPPFLAGS += -DCONFIG_MIPS -D__MIPS__
+
+#
+# From Linux arch/mips/Makefile
+#
+# GCC uses -G 0 -mabicalls -fpic as default.  We don't want PIC in the kernel
+# code since it only slows down the whole thing.  At some point we might make
+# use of global pointer optimizations but their use of $28 conflicts with
+# the current pointer optimization.
+#
+# The DECStation requires an ECOFF kernel for remote booting, other MIPS
+# machines may also.  Since BFD is incredibly buggy with respect to
+# crossformat linking we rely on the elf2ecoff tool for format conversion.
+#
+# cflags-y			+= -G 0 -mno-abicalls -fno-pic -pipe
+# cflags-y			+= -msoft-float
+# LDFLAGS_vmlinux		+= -G 0 -static -n -nostdlib
+# MODFLAGS			+= -mlong-calls
+#
+
+#
+# Meanwhile, U-Boot rely on PIC. We add proper switches explicitly.
+#
+PLATFORM_CPPFLAGS		+= -G 0 -mabicalls -fpic -pipe
+PLATFORM_CPPFLAGS		+= -msoft-float
+PLATFORM_LDFLAGS		+= -G 0 -static -n -nostdlib





More information about the U-Boot mailing list