limit _shipped to c h and S files
_shipped targets are intended for generated source files which should
not permit .o binary blobs which is currently the case. This patch
simply restricts _shipped targets to .c, .h and .S files.
A special case for .inc_shipped is added to prevent breaking
drivers/net/wan/wanxlfw.inc_shipped which is a historic "firmware"
and can not be reasonably moved to a loadable firmware.
This patch is against linux 3.18.0-rc6
Signed-off-by: Nicholas Mc Guire <[email protected]>
---
scripts/Makefile.lib | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 5117552..dd02bb9 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -216,7 +216,17 @@ endif
quiet_cmd_shipped = SHIPPED $@
cmd_shipped = cat $< > $@
-$(obj)/%: $(src)/%_shipped
+$(obj)/%.c: $(src)/%.c_shipped
+ $(call cmd,shipped)
+
+$(obj)/%.h: $(src)/%.h_shipped
+ $(call cmd,shipped)
+
+$(obj)/%.S: $(src)/%.S_shipped
+ $(call cmd,shipped)
+
+$(obj)/%.inc: $(src)/%.inc_shipped
+ @echo ' INFO: use of .inc_shipped files is deprecated'
$(call cmd,shipped)
# Commands useful for building a boot image
--
1.7.10.4
Dne 2.12.2014 v 10:16 Nicholas Mc Guire napsal(a):
>
> limit _shipped to c h and S files
>
> _shipped targets are intended for generated source files which should
> not permit .o binary blobs which is currently the case. This patch
> simply restricts _shipped targets to .c, .h and .S files.
IMO this just adds lines of code without any obvious advantage. The
other patches in the series are fine.
Michal
On Tue, 02 Dec 2014, Michal Marek wrote:
> Dne 2.12.2014 v 10:16 Nicholas Mc Guire napsal(a):
> >
> > limit _shipped to c h and S files
> >
> > _shipped targets are intended for generated source files which should
> > not permit .o binary blobs which is currently the case. This patch
> > simply restricts _shipped targets to .c, .h and .S files.
>
>
> IMO this just adds lines of code without any obvious advantage. The
> other patches in the series are fine.
>
The idea simply was to make the behavior of kbuild match the
documented intent of _shipped files. Technically it is not needed,
its an attempt to raises the barrier a bit for including actual
binary blobs.
thx!
hofrat
On 2014-12-02 11:32, Nicholas Mc Guire wrote:
> On Tue, 02 Dec 2014, Michal Marek wrote:
>
>> Dne 2.12.2014 v 10:16 Nicholas Mc Guire napsal(a):
>>>
>>> limit _shipped to c h and S files
>>>
>>> _shipped targets are intended for generated source files which should
>>> not permit .o binary blobs which is currently the case. This patch
>>> simply restricts _shipped targets to .c, .h and .S files.
>>
>>
>> IMO this just adds lines of code without any obvious advantage. The
>> other patches in the series are fine.
>>
>
> The idea simply was to make the behavior of kbuild match the
> documented intent of _shipped files.
The usage of *.o_shipped is documented by Documentation/kbuild/modules.txt.
Michal
On Tue, 02 Dec 2014, Michal Marek wrote:
> On 2014-12-02 11:32, Nicholas Mc Guire wrote:
> > On Tue, 02 Dec 2014, Michal Marek wrote:
> >
> >> Dne 2.12.2014 v 10:16 Nicholas Mc Guire napsal(a):
> >>>
> >>> limit _shipped to c h and S files
> >>>
> >>> _shipped targets are intended for generated source files which should
> >>> not permit .o binary blobs which is currently the case. This patch
> >>> simply restricts _shipped targets to .c, .h and .S files.
> >>
> >>
> >> IMO this just adds lines of code without any obvious advantage. The
> >> other patches in the series are fine.
> >>
> >
> > The idea simply was to make the behavior of kbuild match the
> > documented intent of _shipped files.
>
> The usage of *.o_shipped is documented by Documentation/kbuild/modules.txt.
>
I know - and Im looking at how to address this so that it would be out-of-tree
only - a minor update of the wording for 3.3 Binary Blobs was sent out as
patch - 3.2 change proposal is not yet done.
Currently there is no .o_shipped in mainline (linux-next 3.18-rc6,
linux-stable 3.18-rc5) so the intent is to rewrite some of those parts to
kick the .o_shipped there too.
But if there is a legitimate need for .o_shipped then of course this patch
(and the changes I'm working on) make no sense at all. My understanding is
though that it should not be needed any more.
thx!
hofrat