Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
  • Andrew Donnellan's avatar
    gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file · 012e8d20
    Andrew Donnellan authored
    Commit 36d4b36b ("lib/nodemask: inline next_node_in() and
    node_random()") refactored some code by moving node_random() from
    lib/nodemask.c to include/linux/nodemask.h, thus requiring nodemask.h to
    include random.h, which conditionally defines add_latent_entropy()
    depending on whether the macro LATENT_ENTROPY_PLUGIN is defined.
    
    This broke the build on powerpc, where nodemask.h is indirectly included
    in arch/powerpc/kernel/prom_init.c, part of the early boot machinery that
    is excluded from the latent entropy plugin using
    DISABLE_LATENT_ENTROPY_PLUGIN. It turns out that while we add a gcc flag
    to disable the actual plugin, we don't undefine LATENT_ENTROPY_PLUGIN.
    
    This leads to the following:
    
        CC      arch/powerpc/kernel/prom_init.o
      In file included from ./include/linux/nodemask.h:97,
                       from ./include/linux/mmzone.h:17,
                       from ./include/linux/gfp.h:7,
                       from ./include/linu...
    012e8d20