[U-Boot] [PATCH 2/3] MIPS: Purple: Fix multiple definition error on final linking of u-boot binary

Shinya Kuribayashi skuribay at pobox.com
Sat Feb 5 13:11:23 CET 2011


On 02/03/2011 08:59 PM, daniel.schwierzeck at googlemail.com wrote:
> The linker of recent toolchains complains about multiple definitions
> on final linking of u-boot binary. This patch removes all redundant
> object files from u-boot.lds those are already added to .text section
> by the linker.

Confirmed.

> That patch could not be tested but the resulting u-boot.map still looks
> good. The start symbol is at 0xB0000000, the environment at 0xB0008000
> so u-boot should boot.

Agreed.

> --- a/board/purple/u-boot.lds
> +++ b/board/purple/u-boot.lds
> @@ -36,11 +36,6 @@ SECTIONS
>  	{
>  	  arch/mips/cpu/start.o		(.text)
>  	  board/purple/lowlevel_init.o	(.text)
> -	  arch/mips/cpu/cache.o		(.text)
> -	  common/main.o			(.text)
> -	  common/dlmalloc.o		(.text)
> -	  common/cmd_boot.o		(.text)
> -	  lib/zlib.o		(.text)
>  	  . = DEFINED(env_offset) ? env_offset : .;
>  	  common/env_embedded.o	(.ppcenv)

This is ok, though we have some room for further cealnups.  With having
.text statement in the lowlevel_init.S, we could remove all these lines.

Applied anyway, thanks for the patch.


More information about the U-Boot mailing list