2014-03-28 3:25 GMT+01:00 Masahiro Yamada <yamad...@jp.panasonic.com>:
>>
>> Those boards have linker errors, but I do not understand yet why. For
>> example on ARM the linker complains about multiple definition of
>> board_init() and board_eth_init(). The solely difference is that there
>> are one or two additional intermediate objects (board/built-in.o and
>> if necessary board/VENDOR/built-in.o). But board/built-in.o and
>> board/BOARD/built-in.o respectively board/VENDOR/BOARD/built-in.o
>> contain the same symbols and object code. The strange thing is that
>> the error only affects some boards.
>
> Have you figured out the multiple definition error?
>
> They are nasty ones and have their own linker scripts.   :-(
> For cm_t335 board, board/compulab/cm_t335/u-boot.lds needs modifying.
>
>   --- a/board/compulab/cm_t335/u-boot.lds
>   +++ b/board/compulab/cm_t335/u-boot.lds
>   @@ -19,7 +19,7 @@ SECTIONS
>           {
>                   *(.__image_copy_start)
>                   CPUDIR/start.o (.text*)
>   -               board/compulab/cm_t335/built-in.o (.text*)
>   +               board/built-in.o (.text*)
>                   *(.text*)
>           }
>

that would fix it. But I looked through several linker scripts and saw
that some boards use that for size optimization. I think we should
ignore board/built-in.o and keep the direct linking of
board/BOARD/built-in.o respectively board/VENDOR/BOARD/built-in.o and
optionally board/vendor/common/built-in.o

-- 
- Daniel
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to