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

seedshope bocui107 at gmail.com
Fri Jan 14 19:45:09 CET 2011


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<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?
>> 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,



More information about the U-Boot mailing list