Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/samples/bpf/asm_goto_workaround.h
25924 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/* Copyright (c) 2019 Facebook */
3
#ifndef __ASM_GOTO_WORKAROUND_H
4
#define __ASM_GOTO_WORKAROUND_H
5
6
/*
7
* This will bring in asm_goto_output and asm_inline macro definitions
8
* if enabled by compiler and config options.
9
*/
10
#include <linux/types.h>
11
12
#ifdef asm_goto_output
13
#undef asm_goto_output
14
#define asm_goto_output(x...) asm volatile("invalid use of asm_goto_output")
15
#endif
16
17
/*
18
* asm_inline is defined as asm __inline in "include/linux/compiler_types.h"
19
* if supported by the kernel's CC (i.e CONFIG_CC_HAS_ASM_INLINE) which is not
20
* supported by CLANG.
21
*/
22
#ifdef asm_inline
23
#undef asm_inline
24
#define asm_inline asm
25
#endif
26
27
#define volatile(x...) volatile("")
28
#endif
29
30