diff options
| author | bors <bors@rust-lang.org> | 2017-01-01 09:56:18 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-01-01 09:56:18 +0000 |
| commit | e1279a0b30a6a36822ecf7c7cc683953e1239745 (patch) | |
| tree | 39c4f3349ee7128c7d9e546b1a93eb05326fa913 /src/rustllvm/PassWrapper.cpp | |
| parent | e227433dc39ab13aa2368814169c049b8f876825 (diff) | |
| parent | b14785d3d0e3093983f6d6e266b754e1b536da10 (diff) | |
| download | rust-e1279a0b30a6a36822ecf7c7cc683953e1239745.tar.gz rust-e1279a0b30a6a36822ecf7c7cc683953e1239745.zip | |
Auto merge of #38726 - japaric:sparc64, r=sanxiyn
sparc64-linux support This is built on top of #38656 and depends on rust-lang/libc#483 Hello world works. The libc-test test suite passes. `panic!` doesn't fully work: ``` $ qemu-sparc64-static ./panic thread 'main' panicked at 'explicit panic', panic.rs:1 note: Run with `RUST_BACKTRACE=1` for a backtrace. Illegal instruction (core dumped) ``` Backtraces don't work either, probably related to the previous point: ``` $ export RUST_BACKTRACE=1 $ qemu-sparc64-static ./panic thread 'main' panicked at 'explicit panic', panic.rs:1 stack backtrace: Illegal instruction (core dumped) ``` r? @alexcrichton @jakllsch Does panicking / backtraces work on sparc64-netbsd? cc @glaubitz
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
| -rw-r--r-- | src/rustllvm/PassWrapper.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/rustllvm/PassWrapper.cpp b/src/rustllvm/PassWrapper.cpp index f71dac77caf..7bc6e8b0ecb 100644 --- a/src/rustllvm/PassWrapper.cpp +++ b/src/rustllvm/PassWrapper.cpp @@ -141,6 +141,12 @@ extern "C" void LLVMRustAddPass(LLVMPassManagerRef PM, LLVMPassRef rust_pass) { #define SUBTARGET_MSP430 #endif +#ifdef LLVM_COMPONENT_SPARC +#define SUBTARGET_SPARC SUBTARGET(Sparc) +#else +#define SUBTARGET_SPARC +#endif + #define GEN_SUBTARGETS \ SUBTARGET_X86 \ SUBTARGET_ARM \ @@ -148,7 +154,8 @@ extern "C" void LLVMRustAddPass(LLVMPassManagerRef PM, LLVMPassRef rust_pass) { SUBTARGET_MIPS \ SUBTARGET_PPC \ SUBTARGET_SYSTEMZ \ - SUBTARGET_MSP430 + SUBTARGET_MSP430 \ + SUBTARGET_SPARC #define SUBTARGET(x) \ namespace llvm { \ |
