#include "clang.h" #include "clang-c.h" #include "llvm/IR/Function.h" #include "llvm/IR/LLVMContext.h" #include #include #include class perf_clang_scope { public: explicit perf_clang_scope() {perf_clang__init();} ~perf_clang_scope() {perf_clang__cleanup();} }; static std::unique_ptr __test__clang_to_IR(void) { unsigned int kernel_version; if (fetch_kernel_version(&kernel_version, NULL, 0)) return std::unique_ptr(nullptr); std::string cflag_kver("-DLINUX_VERSION_CODE=" + std::to_string(kernel_version)); std::unique_ptr M = perf::getModuleFromSource({cflag_kver.c_str()}, "perf-test.c", test_llvm__bpf_base_prog); return M; } extern "C" { int test__clang_to_IR(void) { perf_clang_scope _scope; auto M = __test__clang_to_IR(); if (!M) return -1; for (llvm::Function& F : *M) if (F.getName() == "bpf_func__SyS_epoll_wait") return 0; return -1; } int test__clang_to_obj(void) { perf_clang_scope _scope; auto M = __test__clang_to_IR(); if (!M) return -1; auto Buffer = perf::getBPFObjectFromModule(&*M); if (!Buffer) return -1; return 0; } } n value='nds-private-remove'>nds-private-remove net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2017-01-24 09:57:18 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2017-01-24 09:57:18 -0800
commit62ed8ceda1699acae01b666497f004bfd3d67a6f (patch)
treefe38c83c49dfd568b540666948ef78cb9d082c38 /tools/testing/selftests/pstore/common_tests
parent1c3415a06b1016a596bfe59e0cfee56c773aa958 (diff)
parent7a308bb3016f57e5be11a677d15b821536419d36 (diff)
Merge tag 'v4.10-rc5' into for-linus
Sync up with mainline to apply fixup to a commit that came through power supply tree.
Diffstat (limited to 'tools/testing/selftests/pstore/common_tests')