[U-Boot] [RFC PATCH 04/17] kconfig: add defconfig files for all boards

Masahiro Yamada yamada.m at jp.panasonic.com
Mon Mar 31 10:56:51 CEST 2014


Hi Daniel,


On Fri, 28 Mar 2014 21:35:37 +0100
Daniel Schwierzeck <daniel.schwierzeck at gmail.com> wrote:
> 2014-03-28 3:25 GMT+01:00 Masahiro Yamada <yamada.m at 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

I am not sure if that change has an impact to the size of outputs.
Anyway, in your plan, how would they be fixed?





BTW, 
> while read -r status arch cpu soc vendor board target options maintainers; do
>         case $status in
>         Active|Orphan)
>                 ;;
>         *)
>                 continue
>                 ;;
>         esac
> 
>         if [ "$board" = "-" ]; then
>                 board=$target
>         fi
> 
>         BOARD=${board^^}
>         BOARD=${BOARD/-/_}

This does not work correctly.

The only first occurrence of '-' will be replaced with '_'.

For exampile,  "FOO-BAR-BAZ" will be converted to "FOO_BAR-BAZ".

Some makefiles should be fixed.

    --- a/board/Makefile
    +++ b/board/Makefile
    @@ -11,7 +11,7 @@ obj-$(CONFIG_BOARD_BF506F_EZKIT) += bf506f-ezkit/
     obj-$(CONFIG_BOARD_BF518F_EZBRD) += bf518f-ezbrd/
     obj-$(CONFIG_BOARD_BF525_UCR2) += bf525-ucr2/
     obj-$(CONFIG_BOARD_BF526_EZBRD) += bf526-ezbrd/
    -obj-$(CONFIG_BOARD_BF527_AD7160-EVAL) += bf527-ad7160-eval/
    +obj-$(CONFIG_BOARD_BF527_AD7160_EVAL) += bf527-ad7160-eval/
     obj-$(CONFIG_BOARD_BF527_EZKIT) += bf527-ezkit/
     obj-$(CONFIG_BOARD_BF527_SDP) += bf527-sdp/
     obj-$(CONFIG_BOARD_BF533_EZKIT) += bf533-ezkit/
    diff --git a/board/earthlcd/Makefile b/board/earthlcd/Makefile
    index 61956b4..f618674 100644
    --- a/board/earthlcd/Makefile
    +++ b/board/earthlcd/Makefile
    @@ -1 +1 @@
    -obj-$(CONFIG_BOARD_FAVR_32-EZKIT) += favr-32-ezkit/
    +obj-$(CONFIG_BOARD_FAVR_32_EZKIT) += favr-32-ezkit/



Best Regards
Masahiro Yamada



More information about the U-Boot mailing list