From: Naveen N. Rao Date: Fri, 29 Apr 2016 11:12:58 +0000 (+0530) Subject: cc: add powerpc support X-Git-Tag: v0.2.0~100^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0006ad17212ad443225cb8d854b7d921ab957b87;p=platform%2Fupstream%2Fbcc.git cc: add powerpc support Basic support for building on powerpc. Tested on ppc64le. Signed-off-by: Naveen N. Rao --- diff --git a/src/cc/CMakeLists.txt b/src/cc/CMakeLists.txt index 93041ae..c905e3d 100644 --- a/src/cc/CMakeLists.txt +++ b/src/cc/CMakeLists.txt @@ -44,7 +44,7 @@ set_target_properties(bcc-static PROPERTIES OUTPUT_NAME bcc) # BPF is still experimental otherwise it should be available #llvm_map_components_to_libnames(llvm_libs bpf mcjit irreader passes) llvm_map_components_to_libnames(llvm_libs bitwriter bpfcodegen irreader linker - mcjit objcarcopts option passes x86codegen) + mcjit objcarcopts option passes nativecodegen) llvm_expand_dependencies(expanded_libs ${llvm_libs}) # order is important diff --git a/src/cc/frontends/clang/b_frontend_action.cc b/src/cc/frontends/clang/b_frontend_action.cc index 852abc0..d630e5f 100644 --- a/src/cc/frontends/clang/b_frontend_action.cc +++ b/src/cc/frontends/clang/b_frontend_action.cc @@ -35,8 +35,14 @@ namespace ebpf { const char *calling_conv_regs_x86[] = { "di", "si", "dx", "cx", "r8", "r9" }; +const char *calling_conv_regs_ppc[] = {"gpr[3]", "gpr[4]", "gpr[5]", + "gpr[6]", "gpr[7]", "gpr[8]"}; // todo: support more archs +#if defined(__powerpc__) +const char **calling_conv_regs = calling_conv_regs_ppc; +#else const char **calling_conv_regs = calling_conv_regs_x86; +#endif using std::map; using std::set; diff --git a/src/cc/frontends/clang/loader.cc b/src/cc/frontends/clang/loader.cc index 41c0649..aa929b8 100644 --- a/src/cc/frontends/clang/loader.cc +++ b/src/cc/frontends/clang/loader.cc @@ -128,7 +128,11 @@ int ClangLoader::parse(unique_ptr *mod, unique_ptr