Messages in this thread |  | | From | Sedat Dilek <> | Date | Wed, 30 Sep 2020 18:43:32 +0200 | Subject | Re: [PATCH] export.h: fix section name for CONFIG_TRIM_UNUSED_KSYMS for Clang |
| |
On Tue, Sep 29, 2020 at 9:07 PM 'Nick Desaulniers' via Clang Built Linux <clang-built-linux@googlegroups.com> wrote: > > When enabling CONFIG_TRIM_UNUSED_KSYMS, the linker will warn about the > orphan sections: > (".discard.ksym") is being placed in '".discard.ksym"' > repeatedly when linking vmlinux. This is because the stringification > operator, `#`, in the preprocessor escapes strings. GCC and Clang > differ in how they treat section names that contain \". > > The portable solution is to not use a string literal with the > preprocessor stringification operator. > > Link: https://bugs.llvm.org/show_bug.cgi?id=42950 > Link: https://github.com/ClangBuiltLinux/linux/issues/1166 > Fixes: commit bbda5ec671d3 ("kbuild: simplify dependency generation for CONFIG_TRIM_UNUSED_KSYMS") > Reported-by: kbuild test robot <lkp@intel.com> > Suggested-by: Kees Cook <keescook@chromium.org> > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
"The return of escaped section names" - soon in your cinema?
Thanks Nick for catching this.
Reviewed-by: Sedat Dilek <sedat.dilek@gmail.com>
- Sedat -
> --- > include/linux/export.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/linux/export.h b/include/linux/export.h > index fceb5e855717..8933ff6ad23a 100644 > --- a/include/linux/export.h > +++ b/include/linux/export.h > @@ -130,7 +130,7 @@ struct kernel_symbol { > * discarded in the final link stage. > */ > #define __ksym_marker(sym) \ > - static int __ksym_marker_##sym[0] __section(".discard.ksym") __used > + static int __ksym_marker_##sym[0] __section(.discard.ksym) __used > > #define __EXPORT_SYMBOL(sym, sec, ns) \ > __ksym_marker(sym); \ > -- > 2.28.0.709.gb0816b6eb0-goog > > -- > You received this message because you are subscribed to the Google Groups "Clang Built Linux" group. > To unsubscribe from this group and stop receiving emails from it, send an email to clang-built-linux+unsubscribe@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/msgid/clang-built-linux/20200929190701.398762-1-ndesaulniers%40google.com.
|  |