kbuild: cmd_export_list: tighten the sed script
authorNicolas Pitre <nicolas.pitre@linaro.org>
Thu, 17 Nov 2016 00:28:39 +0000 (19:28 -0500)
committerMichal Marek <mmarek@suse.com>
Sun, 11 Dec 2016 10:51:43 +0000 (11:51 +0100)
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 <nico@linaro.org>
Signed-off-by: Michal Marek <mmarek@suse.com>
scripts/Makefile.build

index fb6a5ee1edec98a3bc024f9f933bc334197ed921..9257a06ffd4ed8df42711d9e12de5bf3434a3cdd 100644 (file)
@@ -422,7 +422,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);\
        echo | $(CC) $(a_flags) -c -o $(dummy-object) -x assembler -;\
        $(LD) $(ld_flags) -r -o $@ -T $(ksyms-lds) $(dummy-object);\