[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CACqU3MWDZueFMkruFi5M7YL4Dtd4sEye-Gc4fDhxJybN70zygg@mail.gmail.com>
Date: Thu, 18 Aug 2011 18:38:31 -0400
From: Arnaud Lacombe <lacombar@...il.com>
To: Troy Kisky <troy.kisky@...ndarydevices.com>
Cc: Russell King - ARM Linux <linux@....linux.org.uk>,
linux-kbuild@...r.kernel.org, Nicolas Pitre <nico@...xnic.net>,
Stephen Boyd <sboyd@...eaurora.org>,
lkml <linux-kernel@...r.kernel.org>,
Sam Ravnborg <sam@...nborg.org>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH] ARM: zImage: Skip relinking if nothing changes
Hi,
On Thu, Aug 18, 2011 at 6:25 PM, Troy Kisky
<troy.kisky@...ndarydevices.com> wrote:
> On 8/18/2011 12:31 PM, Russell King - ARM Linux wrote:
>>
>> On Thu, Aug 18, 2011 at 02:03:43PM -0400, Arnaud Lacombe wrote:
>>>
>>> Hi,
>>>
>>> On Wed, Aug 17, 2011 at 11:44 PM, Nicolas Pitre<nico@...xnic.net> wrote:
>>>>
>>>> On Fri, 12 Aug 2011, Arnaud Lacombe wrote:
>>>>>
>>>>> On Fri, Aug 12, 2011 at 4:48 PM, Arnaud Lacombe<lacombar@...il.com>
>>>>> wrote:
>>>>>>
>>>>>> On Fri, Aug 12, 2011 at 3:00 PM, Stephen Boyd<sboyd@...eaurora.org>
>>>>>> wrote:
>>>>>>>
>>>>>>> diff --git a/arch/arm/boot/compressed/Makefile
>>>>>>> b/arch/arm/boot/compressed/Makefile
>>>>>>> index 0c74a6f..937fd26 100644
>>>>>>> --- a/arch/arm/boot/compressed/Makefile
>>>>>>> +++ b/arch/arm/boot/compressed/Makefile
>>>>>>> @@ -91,7 +91,7 @@ suffix_$(CONFIG_KERNEL_LZMA) = lzma
>>>>>>>
>>>>>>> targets := vmlinux vmlinux.lds \
>>>>>>> piggy.$(suffix_y) piggy.$(suffix_y).o \
>>>>>>> - font.o font.c head.o misc.o $(OBJS)
>>>>>>> + font.o font.c head.o misc.o lib1funcs.o lib1funcs.S
>>>>>>> $(OBJS)
>>>>>>>
>>>>>>> # Make sure files are removed during clean
>>>>>>> extra-y += piggy.gzip piggy.lzo piggy.lzma lib1funcs.S
>>>>>>> @@ -121,9 +121,7 @@ LDFLAGS_vmlinux += -X
>>>>>>> LDFLAGS_vmlinux += -T
>>>>>>>
>>>>>>> # For __aeabi_uidivmod
>>>>>>> -lib1funcs = $(obj)/lib1funcs.o
>>>>>>> -
>>>>>>> -$(obj)/lib1funcs.S: $(srctree)/arch/$(SRCARCH)/lib/lib1funcs.S FORCE
>>>>>>> +$(obj)/lib1funcs.S: $(srctree)/arch/$(SRCARCH)/lib/lib1funcs.S
>>>>>>> $(call cmd,shipped)
>>>>>>>
>>>>>> You should be able to avoid the extra copy altogether by doing
>>>>>> something ala:
>>>>>>
>>>>>> $(obj)/lib1funcs.o: $(srctree)/arch/arm/lib/lib1funcs.S
>>>>>> $(call cmd,as_o_S)
>>>>>>
>>>>>> note that I also remove the $(SRCARCH), as there is no other
>>>>>> `arch/*/lib/lib1funcs.S' than `arch/arm/lib/lib1funcs.S'
>>>>>>
>>>>> I withdraw this proposal and will hack around this to find a proper
>>>>> solution from within kbuild, and eventually come back on these uses
>>>>> :-)
>>>>
>>>> Any progress on this?
>>>>
>>>> I have a patch doing multiple similar $(call cmd,shipped) at the moment
>>>> and this is far from looking nice.
>>>
>>> What is your use-case ? Is it re-use of code in a different
>>> subdirectory (use-case presented in this thread), or aliasing of the
>>> same source under different object name in the same directory (as used
>>> in the alpha tree) ?
>>
>> It is to be able to reuse the same file source file in both the main
>> kernel and the decompressor, sometimes rebuilding it with differing
>> options from the main kernel build.
>>
>> As the two environments are entirely separate, it is not always
>> appropriate to clone the previously built object file.
>>
>> Hence, we copy the source file and re-build it.
>>
>> The alternative is that we could keep two copies of the same source
>> in two different locations, but that's just plain idiotic just to
>> satisfy some silly kbuild restriction.
>>
> Can the second file just contain a "#include " of the 1st?
>
<personal opinion>
Sorry, but it'd taste awfully disgusting, and broken.
<personal opinion/>
- Arnaud
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists