[U-Boot-Users] [MIPS] Add PIC-related switches to PLATFORM_{CPP, LD}FLAGS and cleanup
Shinya Kuribayashi
skuribay at ruby.dti.ne.jp
Sun Oct 21 14:12:15 CEST 2007
Shinya Kuribayashi wrote:
> 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)
Err, I should have fixed like this:
-MIPSFLAGS += $(ENDIANNESS) -mabicalls
+MIPSFLAGS += $(ENDIANNESS)
already fixed.
Shinya
> 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