Re: [PATCH v5 5/8] kbuild: add fine grained build dependencies for exported symbols

From: Michal Marek
Date: Fri Mar 04 2016 - 17:52:07 EST


Dne 4.3.2016 v 06:40 Nicolas Pitre napsal(a):
> +cmd_and_fixdep = \
> + $(echo-cmd) $(cmd_$(1)); \
> + $(ksym_dep_filter) | \
> + scripts/basic/fixdep -e $(depfile) $@ '$(make-cmd)' \
> + > $(dot-target).tmp; \
> + rm -f $(depfile); \
> + mv -f $(dot-target).tmp $(dot-target).cmd;

While trying this, I got a SIGBUS from fixdep once. My theory is that
the depfile is mmap()ed by fixdep and modified by the preprocesor run at
the same time. I could not reproduce this so far (still trying). But if
it's really this race, the fix would be to disable dependency generation
in the preprocessor by passing -Wp,MD,/dev/null or somesuch. But we
never had this problem with genksyms, which is weird. It could as well
be that my build machine's memory is faulty :(.

Michal