On 01/15/2011 12:39 AM, Albert ARIBAUD wrote: > Hi seedshope, > > Le 14/01/2011 16:45, seedshope a écrit : >> On 01/14/2011 02:07 AM, Albert ARIBAUD wrote: >>> Le 13/01/2011 14:36, seedshope a écrit : >>>> Modify Makefile for cpu_init.c and Start.s use some label,this defined >>>> u-boot.lds of arch/arm/cpu/arm1176. But SMDK6400 use the link script >>>> board/samsung/smdk6400/u-boot-nand.lds. So add some label form >>>> u-boot.lds >>>> to u-boot-nand.lds >>>> >>>> Signed-off-by: seedshope<bocui...@gmail.com> >>>> >>>> diff --git a/arch/arm/cpu/arm1176/s3c64xx/Makefile >>>> b/arch/arm/cpu/arm1176/s3c64xx/Makefile >>>> index 0785b19..f4b9574 100644 >>>> --- a/arch/arm/cpu/arm1176/s3c64xx/Makefile >>>> +++ b/arch/arm/cpu/arm1176/s3c64xx/Makefile >>>> @@ -30,12 +30,15 @@ LIB = $(obj)lib$(SOC).o >>>> >>>> SOBJS = reset.o >>>> >>>> -COBJS-$(CONFIG_S3C6400) += cpu_init.o speed.o >>>> +COBJS-$(CONFIG_S3C6400) += speed.o >>>> COBJS-y += timer.o >>>> >>>> +CPUINIT = cpu_init.o >>>> + >>>> OBJS := $(addprefix $(obj),$(SOBJS) $(COBJS-y)) >>>> +CPUINIT := $(addprefix $(obj),$(CPUINIT)) >>>> >>>> -all: $(obj).depend $(START) $(LIB) >>>> +all: $(obj).depend $(START) $(LIB) $(CPUINIT) >>>> >>>> $(LIB): $(OBJS) >>>> $(call cmd_link_o_target, $(OBJS)) >>> >>> Not sure I get what's the problem and how exactly this changes solves >>> it. Can you detail this particular issue? >> The issue is mem_ctrl_asm_init redefine in >> arch/arm/cpu/arm1176/s3c64xx/cpu_init.s. > > From what follows it seems the problem is rather cpu_init.o being > linked in twice. Correct? maybe > >> At first, the link script file include cpu_init.s in >> board/samsung/smd6400/u-boot-nand.s, If I separate the cpu_init.o from >> COBJS-$(CONFIG_S3C6400), I guess cmd_link_o_target will deal with >> cpu_init.o. So the link script will double link the cpu_init file. > > Then you should fix the double linking by i) determining why the > double linking happens and ii) properly linking once only. Hi Alvert ARIBAUD,
I see the code for smdk6400. I found this code is very old. Before It can not add cmd_link_o_target in Makefile(arch/arm/cpu/arm1176/s3c64xx/Makefile), The file will only to compile. So the link script is ok. But, Now, It is not. As far as I know, The linker script can do to link the first specified file for user. Since I do not full understand the cmd_link_o_target mechanism. So I only guess the command do some link work. Maybe I am correct. > >> I have two method to solve it. >> first: see the patch >> second: Modify the link script >> >> But I feel, the first method is safe. > > It may be safe, but IIUC it does not properly address the issue and > its root cause. yes > >> I asked a question. I will RR on next, The patch1 and patch3 have >> already ok, Do I only send patch2 and patch4? > > My personal practice is to re-send the whole patchset for each new > version, because i) people can easily see the whole of the changes > without having to go pick parts of previous versions and ii) it makes > clear when a patch is removed or added to the set. ok Thanks, seedshope > >>> Amicalement, > > Amicalement, _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot