Commit 98beb3ed authored by KP Singh's avatar KP Singh Committed by Daniel Borkmann
Browse files

samples/bpf: Add a workaround for asm_inline



This was added in commit eb111869 ("compiler-types.h: add asm_inline
definition") and breaks samples/bpf as clang does not support asm __inline.

Fixes: eb111869 ("compiler-types.h: add asm_inline definition")
Co-developed-by: default avatarFlorent Revest <revest@google.com>
Signed-off-by: default avatarFlorent Revest <revest@google.com>
Signed-off-by: default avatarKP Singh <kpsingh@google.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Acked-by: default avatarSong Liu <songliubraving@fb.com>
Acked-by: default avatarAndrii Nakryiko <andriin@fb.com>
Link: https://lore.kernel.org/bpf/20191002191652.11432-1-kpsingh@chromium.org
parent df551058
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -3,7 +3,8 @@
#ifndef __ASM_GOTO_WORKAROUND_H
#define __ASM_GOTO_WORKAROUND_H

/* this will bring in asm_volatile_goto macro definition
/*
 * This will bring in asm_volatile_goto and asm_inline macro definitions
 * if enabled by compiler and config options.
 */
#include <linux/types.h>
@@ -13,5 +14,15 @@
#define asm_volatile_goto(x...) asm volatile("invalid use of asm_volatile_goto")
#endif

/*
 * asm_inline is defined as asm __inline in "include/linux/compiler_types.h"
 * if supported by the kernel's CC (i.e CONFIG_CC_HAS_ASM_INLINE) which is not
 * supported by CLANG.
 */
#ifdef asm_inline
#undef asm_inline
#define asm_inline asm
#endif

#define volatile(x...) volatile("")
#endif