• Paul Gortmaker's avatar
    modpost: don't emit section mismatch warnings for compiler optimizations · 4a3893d0
    Paul Gortmaker authored
    Currently an allyesconfig build [gcc-4.9.1] can generate the following:
    
       WARNING: vmlinux.o(.text.unlikely+0x3864): Section mismatch in
       reference from the function cpumask_empty.constprop.3() to the
       variable .init.data:nmi_ipi_mask
    
    which comes from the cpumask_empty usage in arch/x86/kernel/nmi_selftest.c.
    
    Normally we would not see a symbol entry for cpumask_empty since it is:
    
    	static inline bool cpumask_empty(const struct cpumask *srcp)
    
    however in this case, the variant of the symbol gets emitted when GCC does
    constant propagation optimization.
    
    Fix things up so that any locally optimized constprop variants don't warn
    when accessing variables that live in the __init sections.
    Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    4a3893d0
modpost.c 64.7 KB