Skip to content
  • Alexei Starovoitov's avatar
    636e78b1
    samples/bpf: fix build with new clang · 636e78b1
    Alexei Starovoitov authored
    
    
    clang started to error on invalid asm clobber usage in x86 headers
    and many bpf program samples failed to build with the message:
    
      CLANG-bpf  /data/users/ast/bpf-next/samples/bpf/xdp_redirect_kern.o
    In file included from /data/users/ast/bpf-next/samples/bpf/xdp_redirect_kern.c:14:
    In file included from ../include/linux/in.h:23:
    In file included from ../include/uapi/linux/in.h:24:
    In file included from ../include/linux/socket.h:8:
    In file included from ../include/linux/uio.h:14:
    In file included from ../include/crypto/hash.h:16:
    In file included from ../include/linux/crypto.h:26:
    In file included from ../include/linux/uaccess.h:5:
    In file included from ../include/linux/sched.h:15:
    In file included from ../include/linux/sem.h:5:
    In file included from ../include/uapi/linux/sem.h:5:
    In file included from ../include/linux/ipc.h:9:
    In file included from ../include/linux/refcount.h:72:
    ../arch/x86/include/asm/refcount.h:72:36: error: asm-specifier for input or output variable conflicts with asm clobber list
                                             r->refs.counter, e, "er", i, "cx");
                                                                          ^
    ../arch/x86/include/asm/refcount.h:86:27: error: asm-specifier for input or output variable conflicts with asm clobber list
                                             r->refs.counter, e, "cx");
                                                                 ^
    2 errors generated.
    
    Override volatile() to workaround the problem.
    
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
    636e78b1
    samples/bpf: fix build with new clang
    Alexei Starovoitov authored
    
    
    clang started to error on invalid asm clobber usage in x86 headers
    and many bpf program samples failed to build with the message:
    
      CLANG-bpf  /data/users/ast/bpf-next/samples/bpf/xdp_redirect_kern.o
    In file included from /data/users/ast/bpf-next/samples/bpf/xdp_redirect_kern.c:14:
    In file included from ../include/linux/in.h:23:
    In file included from ../include/uapi/linux/in.h:24:
    In file included from ../include/linux/socket.h:8:
    In file included from ../include/linux/uio.h:14:
    In file included from ../include/crypto/hash.h:16:
    In file included from ../include/linux/crypto.h:26:
    In file included from ../include/linux/uaccess.h:5:
    In file included from ../include/linux/sched.h:15:
    In file included from ../include/linux/sem.h:5:
    In file included from ../include/uapi/linux/sem.h:5:
    In file included from ../include/linux/ipc.h:9:
    In file included from ../include/linux/refcount.h:72:
    ../arch/x86/include/asm/refcount.h:72:36: error: asm-specifier for input or output variable conflicts with asm clobber list
                                             r->refs.counter, e, "er", i, "cx");
                                                                          ^
    ../arch/x86/include/asm/refcount.h:86:27: error: asm-specifier for input or output variable conflicts with asm clobber list
                                             r->refs.counter, e, "cx");
                                                                 ^
    2 errors generated.
    
    Override volatile() to workaround the problem.
    
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Loading