public inbox for linux-kbuild@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] kbuild: fix ksym_dep_filter when multiple EXPORT_SYMBOL() on the same line
@ 2016-04-28 21:29 Nicolas Pitre
  2016-04-28 21:32 ` Arnd Bergmann
  2016-05-10 15:24 ` Michal Marek
  0 siblings, 2 replies; 3+ messages in thread
From: Nicolas Pitre @ 2016-04-28 21:29 UTC (permalink / raw)
  To: Michal Marek; +Cc: Arnd Bergmann, linux-kbuild

In kernel/cgroup.c there is:

    #define SUBSYS(_x)                                             \
        DEFINE_STATIC_KEY_TRUE(_x ## _cgrp_subsys_enabled_key);    \
        DEFINE_STATIC_KEY_TRUE(_x ## _cgrp_subsys_on_dfl_key);     \
        EXPORT_SYMBOL_GPL(_x ## _cgrp_subsys_enabled_key);         \
        EXPORT_SYMBOL_GPL(_x ## _cgrp_subsys_on_dfl_key);

The expansion of this macro causes multiple EXPORT_SYMBOL_GPL() instances
to appear on the same preprocessor line output, confusing the sed script
expecting only one of them per line.  Unfortunately this can't be fixed
nicely in the sed script as sed's regexp can't do non greedy matching.

Fix this by turning any semicolon into a line break before filtering.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Nicolas Pitre <nico@linaro.org>

diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index 36e9475395..1f0d41cc73 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -281,7 +281,7 @@ ksym_dep_filter =                                                            \
 	    $(CPP) $(call flags_nodeps,a_flags) -D__KSYM_DEPS__ $< ;;        \
 	  boot*|build*|*cpp_lds_S|dtc|host*|vdso*) : ;;                      \
 	  *) echo "Don't know how to preprocess $(1)" >&2; false ;;          \
-	esac | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p'
+	esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p'
 
 cmd_and_fixdep =                                                             \
 	$(echo-cmd) $(cmd_$(1));                                             \

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] kbuild: fix ksym_dep_filter when multiple EXPORT_SYMBOL() on the same line
  2016-04-28 21:29 [PATCH] kbuild: fix ksym_dep_filter when multiple EXPORT_SYMBOL() on the same line Nicolas Pitre
@ 2016-04-28 21:32 ` Arnd Bergmann
  2016-05-10 15:24 ` Michal Marek
  1 sibling, 0 replies; 3+ messages in thread
From: Arnd Bergmann @ 2016-04-28 21:32 UTC (permalink / raw)
  To: Nicolas Pitre; +Cc: Michal Marek, linux-kbuild

On Thursday 28 April 2016 17:29:42 Nicolas Pitre wrote:
> In kernel/cgroup.c there is:
> 
>     #define SUBSYS(_x)                                             \
>         DEFINE_STATIC_KEY_TRUE(_x ## _cgrp_subsys_enabled_key);    \
>         DEFINE_STATIC_KEY_TRUE(_x ## _cgrp_subsys_on_dfl_key);     \
>         EXPORT_SYMBOL_GPL(_x ## _cgrp_subsys_enabled_key);         \
>         EXPORT_SYMBOL_GPL(_x ## _cgrp_subsys_on_dfl_key);
> 
> The expansion of this macro causes multiple EXPORT_SYMBOL_GPL() instances
> to appear on the same preprocessor line output, confusing the sed script
> expecting only one of them per line.  Unfortunately this can't be fixed
> nicely in the sed script as sed's regexp can't do non greedy matching.
> 
> Fix this by turning any semicolon into a line break before filtering.
> 
> Reported-by: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Nicolas Pitre <nico@linaro.org>

Tested-by: Arnd Bergmann <arnd@arndb.de>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] kbuild: fix ksym_dep_filter when multiple EXPORT_SYMBOL() on the same line
  2016-04-28 21:29 [PATCH] kbuild: fix ksym_dep_filter when multiple EXPORT_SYMBOL() on the same line Nicolas Pitre
  2016-04-28 21:32 ` Arnd Bergmann
@ 2016-05-10 15:24 ` Michal Marek
  1 sibling, 0 replies; 3+ messages in thread
From: Michal Marek @ 2016-05-10 15:24 UTC (permalink / raw)
  To: Nicolas Pitre; +Cc: Arnd Bergmann, linux-kbuild

On Thu, Apr 28, 2016 at 05:29:42PM -0400, Nicolas Pitre wrote:
> In kernel/cgroup.c there is:
> 
>     #define SUBSYS(_x)                                             \
>         DEFINE_STATIC_KEY_TRUE(_x ## _cgrp_subsys_enabled_key);    \
>         DEFINE_STATIC_KEY_TRUE(_x ## _cgrp_subsys_on_dfl_key);     \
>         EXPORT_SYMBOL_GPL(_x ## _cgrp_subsys_enabled_key);         \
>         EXPORT_SYMBOL_GPL(_x ## _cgrp_subsys_on_dfl_key);
> 
> The expansion of this macro causes multiple EXPORT_SYMBOL_GPL() instances
> to appear on the same preprocessor line output, confusing the sed script
> expecting only one of them per line.  Unfortunately this can't be fixed
> nicely in the sed script as sed's regexp can't do non greedy matching.
> 
> Fix this by turning any semicolon into a line break before filtering.
> 
> Reported-by: Arnd Bergmann <arnd@arndb.de>
> Signed-off-by: Nicolas Pitre <nico@linaro.org>

Applied to kbuild.git#kbuild.

Michal

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-05-10 15:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-28 21:29 [PATCH] kbuild: fix ksym_dep_filter when multiple EXPORT_SYMBOL() on the same line Nicolas Pitre
2016-04-28 21:32 ` Arnd Bergmann
2016-05-10 15:24 ` Michal Marek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox