On Tue, Jan 29, 2008 at 07:12:10PM -0500, Mike Frysinger wrote: > On Tuesday 29 January 2008, Wolfgang Denk wrote: > > In message <[EMAIL PROTECTED]> you wrote: > > > unfortunately, using weak symbols and overriding elsewhere doesnt look > > > like it's possible currently due to the way ld searches archives. for > > > example, if > > > > ??? > > > > > ld will pick the weak symbol provided by libcommon.a even though a strong > > > symbol is also available in libblackfin.a :( > > > > That should never happen. What is your toolchain? > > read the binutils mailing list. this is the expected behavior of ld. > > http://sourceware.org/ml/binutils/2008-01/msg00301.html
Overriding weak with strong symbols works just fine, however in your case ld has no reason to even look at your override, since it already has a (weak) definition for do_bootelf_setup(). Thus the solution for your problem is to give ld a reason to pull in your do_bootelf_setup() definition. There are two ways: - explicitly list the .o file on the linker command line, i.e. add it to $(OBJS) or $(PLATFORM_LIBS) instead of libblackfin.a - put the do_bootelf_setup() definition in a .o file along with some other code you know will be pulled in, e.g. add it to lib_blackfin/cache.c instead of putting it in its own file HTH, Johannes ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users