[U-Boot] [PATCH 2/2] SPL: Allow ARM926EJS to avoid compiling in the CPU support code

Albert ARIBAUD albert.u.boot at aribaud.net
Sat Oct 22 01:08:43 CEST 2011


Le 22/10/2011 00:46, Marek Vasut a écrit :
> On Saturday, October 22, 2011 12:44:06 AM Albert ARIBAUD wrote:
>> Le 22/10/2011 00:00, Marek Vasut a écrit :
>>> On Friday, October 21, 2011 11:52:23 PM Albert ARIBAUD wrote:
>>>> Hi Marek,
>>>>
>>>> Le 21/10/2011 22:44, Marek Vasut a écrit :
>>>>> On Thursday, October 06, 2011 02:13:26 AM Marek Vasut wrote:
>>>>>> This allows the SPL to avoid compiling in the CPU support code.
>>>>>>
>>>>>> Signed-off-by: Marek Vasut<marek.vasut at gmail.com>
>>>>>> Cc: Stefano Babic<sbabic at denx.de>
>>>>>> Cc: Wolfgang Denk<wd at denx.de>
>>>>>> Cc: Detlev Zundel<dzu at denx.de>
>>>>>> Cc: Scott Wood<scottwood at freescale.com>
>>>>>> ---
>>>>>>
>>>>>>     arch/arm/cpu/arm926ejs/Makefile |    7 +++++++
>>>>>>     1 files changed, 7 insertions(+), 0 deletions(-)
>>>>>>
>>>>>> diff --git a/arch/arm/cpu/arm926ejs/Makefile
>>>>>> b/arch/arm/cpu/arm926ejs/Makefile index 930e0d1..3f9b0f1 100644
>>>>>> --- a/arch/arm/cpu/arm926ejs/Makefile
>>>>>> +++ b/arch/arm/cpu/arm926ejs/Makefile
>>>>>> @@ -28,6 +28,13 @@ LIB	= $(obj)lib$(CPU).o
>>>>>>
>>>>>>     START	= start.o
>>>>>>     COBJS	= cpu.o
>>>>>>
>>>>>> +ifdef	CONFIG_SPL_BUILD
>>>>>> +ifdef	CONFIG_SPL_NO_CPU_SUPPORT_CODE
>>>>>> +START	:=
>>>>>> +COBJS	:=
>>>>>> +endif
>>>>>> +endif
>>>>>> +
>>>>>>
>>>>>>     SRCS	:= $(START:.o=.S) $(SOBJS:.o=.S) $(COBJS:.o=.c)
>>>>>>     OBJS	:= $(addprefix $(obj),$(COBJS) $(SOBJS))
>>>>>>     START	:= $(addprefix $(obj),$(START))
>>>>>
>>>>> Hi Albert,
>>>>>
>>>>> can we get this applied please?
>>>>
>>>> I still don't understand what this is supposed to do -- why not linking
>>>> this code is required.
>>>>
>>>> Amicalement,
>>>
>>> Hi Albert,
>>>
>>> I use very different start.S in SPL. And I don't need cpu.o at all.
>>
>> That I understand; but is there a /problem/ in linking cpu.o in?
>
> I suppose it'll be optimized out at link time ?

That indirectly answers my question: what you want to achieve is 
removing dead code.

Now, about your question, you can check this if you build the  board you 
intend to apply this to, and do an objdump of the generated SPL: you'll 
see if the cpu.o functions are present or not.

(my point being that if cpu.o is to disappear because its functions are 
either useless or should move elsewhere, then the interest of a patch 
making cpu.o optional is short-lived.)

> Cheers

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list