From mboxrd@z Thu Jan 1 00:00:00 1970 From: seedshope Date: Sat, 15 Jan 2011 02:45:09 +0800 Subject: [U-Boot] [v3 patch 2/4] SMDK6400: Fix some label undefined in build error In-Reply-To: <4D3092AC.7010606@free.fr> References: <1294925784-5042-1-git-send-email-bocui107@gmail.com> <1294925784-5042-3-git-send-email-bocui107@gmail.com> <4D2F3F67.5030603@free.fr> <4D306FA0.50407@gmail.com> <4D307C48.8090201@free.fr> <4D308055.1060405@gmail.com> <4D3092AC.7010606@free.fr> Message-ID: <4D3099B5.7090503@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 01/15/2011 02:15 AM, Albert ARIBAUD wrote: > Le 14/01/2011 17:56, seedshope a ?crit : >> 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 >>>>>> >>>>>> 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 don't want to accept this change on the off chance that it might be > correct; before your next patch submission, please try building your > code without this specific patch and positively find why the build fails. ok, Thanks seedshope > > Amicalement,