Skip to contentSkip to conversation

limit _shipped to c,h and S files

PATCH In review Nicholas Mc Guire 2 participants 3 messages Oct 1, 2014 – Oct 2, 2014 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 2/3 limit _shipped to c,h and S files

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.

Note that this patch breaks the handline of drivers/net/wan/wanxlfw.inc_shipped which probably really should be moved to a loadable firmware and use request_firmware - a short term fix could be to move it to a .h file.

This patch is against linux 3.17.0-rc6

---
 scripts/Makefile.lib |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
scripts/Makefile.lib +7 -1
index 260bf8a..adc4acb 100644
@@ -207,7 +207,13 @@ 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)
 
 # Commands useful for building a boot image
Signature · 1 line
1.7.10.4
#1 lore raw
Quoted 6 lines · Nicholas Mc Guire

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.

Patches 1/3 and 3/3 are fine, but I'm not convinced about this one. Sure, binary blobs are often distributed as *.o_shipped, but they are not going away if you remove support for _shipped.

Quoted 3 lines

Note that this patch breaks the handline of drivers/net/wan/wanxlfw.inc_shipped which probably really should be moved to a loadable firmware and use request_firmware - a short term fix could be to move it to a .h file.

At a minimum, the patch series should address this before limiting support for *_shipped.

Michal

#2 lore raw
Quoted 13 lines · Michal Marek
Quoted 6 lines · Nicholas Mc Guire

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.

Patches 1/3 and 3/3 are fine, but I'm not convinced about this one. Sure, binary blobs are often distributed as *.o_shipped, but they are not going away if you remove support for _shipped.

Quoted 7 lines
Quoted 3 lines

Note that this patch breaks the handline of drivers/net/wan/wanxlfw.inc_shipped which probably really should be moved to a loadable firmware and use request_firmware - a short term fix could be to move it to a .h file.

At a minimum, the patch series should address this before limiting support for *_shipped.

Krzysztof Halasa <[email protected]> who is the author of drivers/net/wan/wanxl (CCed) noted that "This is a driver for an old obscure early PCI 2 Mbit/s WAN board" so the probability of getting this migrated to the firmware interface is quite low.

Not sure if this form of addressing it is accpetable, it simply adds a 4th case for the .inc_shipped with a INFO message noting it as deprecated.

proposed alternative for 2/3 below.

thx !
hofrat

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.

Note that limiting it to .c, .h and .S only would breaks the handling of drivers/net/wan/wanxlfw.inc_shipped which is named .inc for mainly historic reasons as a work around the .inc_shipped is treated as expected but an additional note is printed indicating that this is deprecated.

INFO: use of .inc_shipped files is deprecated
SHIPPED drivers/net/wan/wanxlfw.inc

This patch is against Linux 3.17.0-rc7

---
 scripts/Makefile.lib |   12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
scripts/Makefile.lib +11 -1
index 260bf8a..2281ad9 100644
@@ -207,7 +207,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
Signature · 1 line
1.7.10.4