cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

clang-c.h (949B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef PERF_UTIL_CLANG_C_H
      3#define PERF_UTIL_CLANG_C_H
      4
      5#include <stddef.h>	/* for size_t */
      6
      7#ifdef __cplusplus
      8extern "C" {
      9#endif
     10
     11#ifdef HAVE_LIBCLANGLLVM_SUPPORT
     12extern void perf_clang__init(void);
     13extern void perf_clang__cleanup(void);
     14
     15struct test_suite;
     16extern int test__clang_to_IR(struct test_suite *test, int subtest);
     17extern int test__clang_to_obj(struct test_suite *test, int subtest);
     18
     19extern int perf_clang__compile_bpf(const char *filename,
     20				   void **p_obj_buf,
     21				   size_t *p_obj_buf_sz);
     22#else
     23
     24#include <errno.h>
     25#include <linux/compiler.h>	/* for __maybe_unused */
     26
     27static inline void perf_clang__init(void) { }
     28static inline void perf_clang__cleanup(void) { }
     29
     30static inline int
     31perf_clang__compile_bpf(const char *filename __maybe_unused,
     32			void **p_obj_buf __maybe_unused,
     33			size_t *p_obj_buf_sz __maybe_unused)
     34{
     35	return -ENOTSUP;
     36}
     37
     38#endif
     39
     40#ifdef __cplusplus
     41}
     42#endif
     43#endif