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

Albert ARIBAUD
2011-10-21T23:08:43Z

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@gmail.com>
>>>>>> Cc: Stefano Babic<sbabic@denx.de>
>>>>>> Cc: Wolfgang Denk<wd@denx.de>
>>>>>> Cc: Detlev Zundel<dzu@denx.de>
>>>>>> Cc: Scott Wood<scottwood@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.