• M
    include/linux/compiler*.h: fix OPTIMIZER_HIDE_VAR · 4047a7ad
    Michael S. Tsirkin 提交于
    [ Upstream commit 3e2ffd655cc6a694608d997738989ff5572a8266 ]
    
    Since commit 815f0ddb ("include/linux/compiler*.h: make compiler-*.h
    mutually exclusive") clang no longer reuses the OPTIMIZER_HIDE_VAR macro
    from compiler-gcc - instead it gets the version in
    include/linux/compiler.h.  Unfortunately that version doesn't actually
    prevent compiler from optimizing out the variable.
    
    Fix up by moving the macro out from compiler-gcc.h to compiler.h.
    Compilers without incline asm support will keep working
    since it's protected by an ifdef.
    
    Also fix up comments to match reality since we are no longer overriding
    any macros.
    
    Build-tested with gcc and clang.
    
    Fixes: 815f0ddb ("include/linux/compiler*.h: make compiler-*.h mutually exclusive")
    Cc: Eli Friedman <efriedma@codeaurora.org>
    Cc: Joe Perches <joe@perches.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Reviewed-by: NNick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
    Signed-off-by: NMiguel Ojeda <miguel.ojeda.sandonis@gmail.com>
    Signed-off-by: NSasha Levin <sashal@kernel.org>
    4047a7ad
compiler.h 11.2 KB