diff options
| author | Jeroen Hofstee <jeroen@myspectrum.nl> | 2017-04-21 15:21:11 +0900 |
|---|---|---|
| committer | Greg Hackmann <ghackmann@google.com> | 2017-10-09 14:00:12 -0700 |
| commit | 03e66b365eda022da0e82df4685e1aefcbdc656e (patch) | |
| tree | 05d56a2cba470877dcd984930f59f20f87077354 /scripts | |
| parent | 54d8c15081750c6a44369bc9372e1277361fd480 (diff) | |
UPSTREAM: kbuild: fix asm-offset generation to work with clang
KBuild abuses the asm statement to write to a file and
clang chokes about these invalid asm statements. Hack it
even more by fooling this is actual valid asm code.
[masahiro:
Import Jeroen's work for U-Boot:
http://patchwork.ozlabs.org/patch/375026/
Tweak sed script a little to avoid garbage '#' for GCC case, like
#define NR_PAGEFLAGS 23 /* __NR_PAGEFLAGS # */ ]
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Tested-by: Matthias Kaehlcke <mka@chromium.org>
(cherry picked from commit cf0c3e68aa81f992b0301f62e341b710d385bf68)
Signed-off-by: Greg Hackmann <ghackmann@google.com>
Change-Id: Ifbfd4eff59a7f4304f0d8fdcba4075100244562f
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/Makefile.lib | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 6219c5fcb801..c3b3c94e2446 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -399,10 +399,14 @@ cmd_xzmisc = (cat $(filter-out FORCE,$^) | \ # --------------------------------------------------------------------------- # Default sed regexp - multiline due to syntax constraints +# +# Use [:space:] because LLVM's integrated assembler inserts <tab> around +# the .ascii directive whereas GCC keeps the <space> as-is. define sed-offsets - "/^->/{s:->#\(.*\):/* \1 */:; \ + 's:^[[:space:]]*\.ascii[[:space:]]*"\(.*\)".*:\1:; \ + /^->/{s:->#\(.*\):/* \1 */:; \ s:^->\([^ ]*\) [\$$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; \ - s:->::; p;}" + s:->::; p;}' endef # Use filechk to avoid rebuilds when a header changes, but the resulting file |
