[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