• Denis Vlasenko's avatar
    [PATCH] add missing #include · e663d7c9
    Denis Vlasenko authored
    There's a subtle problem with "inline" usage in <linux/string.h>:
    
     <linux/string.h>:
            this pulls in __constant_c_and_count_memset()
    
     <linux/mm.h>:
            this pulls <compiler.h>, re-defining
            inline == __inline__ __attribute__((always_inline)).
    
     But by now it is too late! The compiler has already seen the bare
     "inline" in string.h, and hasn't inlined it.
    
    Result:
    
    	# grep __constant System.map
    	c0144670 t __constant_c_and_count_memset
    	c0145c60 t __constant_c_and_count_memset
    	... many more copies of this function ...
    
    Fixed by including <compiler.h> early enough.
    e663d7c9
string.h 2.45 KB