Hi Daniel,
On Fri, 28 Mar 2014 21:35:37 +0100 Daniel Schwierzeck <daniel.schwierz...@gmail.com> wrote: > 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 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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot