On 2016-11-01 15:36, Nicholas Piggin wrote: > On Tue, 1 Nov 2016 15:19:59 +0100 > Michal Marek <mmarek@xxxxxxxx> wrote: > >> On 2016-10-31 12:14, Nicholas Piggin wrote: >>> +# This is convoluted. The .S file must first be preprocessed to run guards and >>> +# expand names, then the resulting exports must be constructed into plain >>> +# EXPORT_SYMBOL(symbol); to build our dummy C file, and that gets preprocessed >>> +# to make the genksyms input. >>> # >>> # These mirror gensymtypes_c and co above, keep them in synch. >>> cmd_gensymtypes_S = \ >>> (echo "\#include <linux/kernel.h>" ; \ >>> echo "\#include <asm/asm-prototypes.h>" ; \ >>> - grep EXPORT_SYMBOL $< | sed 's/$$/;/' ) | \ >>> + $(CPP) $(a_flags) $< | \ >>> + grep ^___EXPORT_SYMBOL | \ >>> + sed 's/___EXPORT_SYMBOL \([a-zA-Z0-9_]*\),.*/EXPORT_SYMBOL(\1);/' ) | \ >> >> Is this sed pass necessary? Just add -D__GENKSYMS__ also to the first >> cpp run and EXPORT_SYMBOL will stay intact. > > I can't see how it would work if asm-generic/export.h doesn't have any > tests for GENKSYMS. You are right, these would have to be added first to mimic the <linux/export.h> behavior. Michal -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html