2016-11-17 00:28:44

by Nicolas Pitre

[permalink] [raw]
Subject: [PATCH] kbuild: cmd_export_list: tighten the sed script


When LTO is used, some ___ksymtab_string sections are seen by this sed
script, creating lines containing a single ) such as:

EXPORT(foo)
)
)
EXPORT(bar)

Let's make it so the + character is also required for any line to be
printed.

Signed-off-by: Nicolas Pitre <[email protected]>

diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 53b43f26bb..3066c8e61d 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -428,7 +428,7 @@ endif

quiet_cmd_export_list = EXPORTS $@
cmd_export_list = $(OBJDUMP) -h $< | \
- sed -ne '/___ksymtab/{s/.*+/$(ref_prefix)/;s/ .*/)/;p}' >$(ksyms-lds);\
+ sed -ne '/___ksymtab/s/.*+\([^ ]*\).*/$(ref_prefix)\1)/p' >$(ksyms-lds);\
rm -f $(dummy-object);\
$(AR) rcs$(KBUILD_ARFLAGS) $(dummy-object);\
$(LD) $(ld_flags) -r -o $@ -T $(ksyms-lds) $(dummy-object);\


2016-12-11 10:52:11

by Michal Marek

[permalink] [raw]
Subject: Re: [PATCH] kbuild: cmd_export_list: tighten the sed script

On Wed, Nov 16, 2016 at 07:28:39PM -0500, Nicolas Pitre wrote:
>
> When LTO is used, some ___ksymtab_string sections are seen by this sed
> script, creating lines containing a single ) such as:
>
> EXPORT(foo)
> )
> )
> EXPORT(bar)
>
> Let's make it so the + character is also required for any line to be
> printed.
>
> Signed-off-by: Nicolas Pitre <[email protected]>

Applied to kbuild.git#kbuild.

Michal