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

Wolfgang Denk
2010-11-18T22:33:19Z

Dear Albert ARIBAUD,

In message <4CE5A3F1.50304@free.fr> you wrote:
>
> > 58 arch/powerpc/cpu/mpc8xx/start.o (.text)
> > 59 arch/powerpc/cpu/mpc8xx/traps.o (.text)
> > 60 common/dlmalloc.o (.text)
> > 61 arch/powerpc/lib/ppcstring.o (.text)
> > 62 lib/vsprintf.o (.text)
> > 63 lib/crc32.o (.text)
> > 64 lib/zlib.o (.text)
> > 65 arch/powerpc/lib/cache.o (.text)
> > 66
> > 67 . = DEFINED(env_offset) ? env_offset : .;
> > 68 common/env_embedded.o (.ppcenv)
...
> Are you sure of this? From
> <http://sourceware.org/binutils/docs-2.20/ld/Input-Section-Basics.html#Input-Section-Basics>,
> specifying a file name in the linker file *and* on the command line
> should not lead to a double inclusion of the object file:

I'm sure that I see the errors.

I see two possible reasons: 1) whay you describe is a new feature in
binutils 2.20; I'm currently using 2.17.50 (with ELDk 4.2); or 2) the
linker does not realize it because it's actually different file names:
for example, vsprintf() gets included in the linker script directly
through lib/vsprintf.o, and throught he command line as
lib/libgeneric.o ==> two different file names.

Best regards,

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
Ever try. Ever fail. No matter. Try again. Fail again. Fail better.
-- S. Beckett