[U-Boot] [v3 patch 2/4] SMDK6400: Fix some label undefined in build error

Albert ARIBAUD albert.aribaud at free.fr
Fri Jan 14 17:39:36 CET 2011


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<bocui107 at 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?

> 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.

> 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.

> 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.

>> Amicalement,

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list