On 12:45 Tue 28 Oct , Ilko Iliev wrote: > Dear Jean-Christophe, > > Jean-Christophe PLAGNIOL-VILLARD wrote: > > On 22:20 Mon 27 Oct , Wolfgang Denk wrote: > > > >> Dear Jean-Christophe PLAGNIOL-VILLARD, > >> > >> In message <[EMAIL PROTECTED]> you wrote: > >> > >>>> I've found that weak functions are only overwritten if the overwriting > >>>> function is in a file (not archive) that has strongly-linked symbols. > >>>> Admittedly, I've only done this with C code but expect that the assembly > >>>> equivalent works the same way. The idea of using weak functions seems > >>>> great, but suffers from some pretty cumbersome weaknesses :) > >>>> > >>> I've found a solution but it's need to update the all u-boot linking > >>> method. > >>> > >>> Move from AR to LD. > >>> > >> Well, that is exactly what Ben just described. > >> > >> > >>> Which need some work to fit on all boards. > >>> > >> Well, actually only the file lowlevel_init.o needs to be treated that > >> way, so the needed hcanges look not too complicated to me. > >> > > I'll send a patch to move cpu/at91 to it only and an example to use it with > > board dir > > Could you try this
diff --git a/config.mk b/config.mk index 5a9334c..0d81ab3 100644 --- a/config.mk +++ b/config.mk @@ -80,6 +80,9 @@ STRIP = $(CROSS_COMPILE)strip OBJCOPY = $(CROSS_COMPILE)objcopy OBJDUMP = $(CROSS_COMPILE)objdump RANLIB = $(CROSS_COMPILE)RANLIB +cmd_link_o_target = $(if $(strip $(2)),\ + $(LD) $(PLATFORM_LDFLAGS) -r -o $(1) $(2) ,\ + rm -f $@; $(AR) rcs $(1)) ######################################################################### diff --git a/cpu/arm926ejs/at91/Makefile b/cpu/arm926ejs/at91/Makefile index 2d2a888..662657c 100644 --- a/cpu/arm926ejs/at91/Makefile +++ b/cpu/arm926ejs/at91/Makefile @@ -36,7 +36,7 @@ OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS-y)) all: $(obj).depend $(LIB) $(LIB): $(OBJS) - $(AR) $(ARFLAGS) $@ $(OBJS) + $(call cmd_link_o_target, $@, $(OBJS)) ######################################################################### and modify your board lib build by - $(AR) $(ARFLAGS) $@ $(OBJS) + $(call cmd_link_o_target, $@, $(OBJS)) Best Regards, J. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot