* [PATCH] kbuild: be more careful about matching preprocessed asm ___EXPORT_SYMBOL
@ 2016-11-09 4:34 Nicholas Piggin
2016-11-09 21:37 ` Michal Marek
0 siblings, 1 reply; 2+ messages in thread
From: Nicholas Piggin @ 2016-11-09 4:34 UTC (permalink / raw)
To: Michal Marek
Cc: Nicholas Piggin, Philip Müller, Adam Borowski, linux-kbuild
The CRC code for asm exports grabs the preprocessed asm, finds the
___EXPORT_SYMBOL and turns those into EXPORT_SYMBOL in a C program
that can be preprocessed and parsed to create the CRC signatures from
the type.
The existing regex matching and replacement is too strict, and doesn't
deal well with whitespace among other things. The line
" EXPORT_SYMBOL(sym)" in a .S file would not match due to initial
whitespace, for example, which resulted in x86's ___preempt_schedule
failing to get CRCs.
Reported-by: Philip Müller <philm@manjaro.org>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
scripts/Makefile.build | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 3e223c2..7675d11 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -332,8 +332,8 @@ cmd_gensymtypes_S = \
(echo "\#include <linux/kernel.h>" ; \
echo "\#include <asm/asm-prototypes.h>" ; \
$(CPP) $(a_flags) $< | \
- grep ^___EXPORT_SYMBOL | \
- sed 's/___EXPORT_SYMBOL \([a-zA-Z0-9_]*\),.*/EXPORT_SYMBOL(\1);/' ) | \
+ grep "\<___EXPORT_SYMBOL\>" | \
+ sed 's/.*___EXPORT_SYMBOL[[:space:]]*\([a-zA-Z0-9_]*\)[[:space:]]*,.*/EXPORT_SYMBOL(\1);/' ) | \
$(CPP) -D__GENKSYMS__ $(c_flags) -xc - | \
$(GENKSYMS) $(if $(1), -T $(2)) \
$(patsubst y,-s _,$(CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX)) \
--
2.10.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] kbuild: be more careful about matching preprocessed asm ___EXPORT_SYMBOL
2016-11-09 4:34 [PATCH] kbuild: be more careful about matching preprocessed asm ___EXPORT_SYMBOL Nicholas Piggin
@ 2016-11-09 21:37 ` Michal Marek
0 siblings, 0 replies; 2+ messages in thread
From: Michal Marek @ 2016-11-09 21:37 UTC (permalink / raw)
To: Nicholas Piggin; +Cc: Philip Müller, Adam Borowski, linux-kbuild
Dne 9.11.2016 v 05:34 Nicholas Piggin napsal(a):
> The CRC code for asm exports grabs the preprocessed asm, finds the
> ___EXPORT_SYMBOL and turns those into EXPORT_SYMBOL in a C program
> that can be preprocessed and parsed to create the CRC signatures from
> the type.
>
> The existing regex matching and replacement is too strict, and doesn't
> deal well with whitespace among other things. The line
> " EXPORT_SYMBOL(sym)" in a .S file would not match due to initial
> whitespace, for example, which resulted in x86's ___preempt_schedule
> failing to get CRCs.
>
> Reported-by: Philip Müller <philm@manjaro.org>
> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Applied to kbuild.git#rc-fixes.
Michal
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-11-09 21:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-09 4:34 [PATCH] kbuild: be more careful about matching preprocessed asm ___EXPORT_SYMBOL Nicholas Piggin
2016-11-09 21:37 ` Michal Marek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox