[U-Boot] [PATCH v3] Switch from archive libraries to partial linking

Wolfgang Denk wd at denx.de
Mon Nov 15 11:54:07 CET 2010


Dear Sebastien Carlier,

In message <20101115080950.GA26767 at safe.home.local> you wrote:
> 
> I just uploaded the revised patch here:
> 
> 	http://www.denx.de/wiki/pub/U-Boot/TooBigPatches/0001-Switch-from-archive-libraries-to-partial-linking-v4.patch
> 
> Version 4:
>   Bring in Linux comment for cmd_link_o_target.
>   Fix drivers/qe/Makefile to build libqe.o, not qe.o.
> 
> I pulled the latest changes before making the patch and there was no
> conflict, but please let me know if you see anything wrong with it.

Thanks a lot.

I notice that the patch affects the size of the resulting U-Boot
images.

For example:

Configuring for MiniFAP - Board: TQM5200, Options: MINIFAP
   text    data     bss     dec     hex filename
 358144   35208  303248  696600   aa118 ./u-boot	before
 361340   35824  303332  700496   ab050 ./u-boot	after
-------------------------------
		Delta:   +3896 Bytes

For other boards it's only a few hundred bytes, but why do we see
such big increase here?


MPC8xx boards break with long lists of multiple definitions of
symbols, like that:

Configuring for FPS860L board...
lib/libgeneric.o: In function `vsprintf':
/home/wd/git/u-boot/work/lib/vsprintf.c:480: multiple definition of `vsprintf'
lib/vsprintf.o:/home/wd/git/u-boot/work/lib/vsprintf.c:480: first defined here
lib/libgeneric.o: In function `ustrtoul':
/home/wd/git/u-boot/work/lib/vsprintf.c:74: multiple definition of `ustrtoul'
lib/vsprintf.o:/home/wd/git/u-boot/work/lib/vsprintf.c:74: first defined here
lib/libgeneric.o: In function `simple_strtol':
/home/wd/git/u-boot/work/lib/vsprintf.c:67: multiple definition of `simple_strtol'
lib/vsprintf.o:/home/wd/git/u-boot/work/lib/vsprintf.c:67: first defined here
lib/libgeneric.o: In function `inflate':
/home/wd/git/u-boot/work/lib/zlib.c:1385: multiple definition of `inflate'
lib/zlib.o:/home/wd/git/u-boot/work/lib/zlib.c:1385: first defined here
lib/libgeneric.o: In function `inflate_fast':
/home/wd/git/u-boot/work/lib/zlib.c:448: multiple definition of `inflate_fast'
lib/zlib.o:/home/wd/git/u-boot/work/lib/zlib.c:448: first defined here
...

Have you seen that, too?

Best regards,
Viele Grüße,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"He was so narrow minded he could see through  a  keyhole  with  both
eyes ..."


More information about the U-Boot mailing list