Skip to content

preliminary MIPS32 support #4692

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 5 commits into from
Closed

preliminary MIPS32 support #4692

wants to merge 5 commits into from

Conversation

crabtw
Copy link
Contributor

@crabtw crabtw commented Jan 30, 2013

It currently lacks support of segmented stacks and the runtime support is buggy. For a simple hello world program, it prints string and then segfaults. I am still trying to fix the problem.

The MIPS O32 ABI implementation is translated from clang's.
https://github.com/llvm-mirror/clang/blob/master/lib/CodeGen/TargetInfo.cpp

@brson
Copy link
Contributor

brson commented Jan 30, 2013

Wow. Very interesting
On Jan 30, 2013 8:26 AM, "Jyun-Yan You" [email protected] wrote:

It currently lacks support of segmented stacks and the runtime support is
buggy. For a simple hello world program, it prints string and then
segfaults. I am still trying to fix the problem.

The MIPS O32 ABI implementation is translated from clang's.

https://github.com/llvm-mirror/clang/blob/master/lib/CodeGen/TargetInfo.cpp

You can merge this Pull Request by running

git pull https://github.com/crabtw/rust mips

Or view, comment on, or merge it at:

#4692
Commit Summary

  • rt: MIPS32 support
  • rustc: MIPS32 support
  • rustc: implement MIPS O32 ABI
  • rt: fix some bugs for MIPS target
  • rustc: add missing pub for back::mips::get_target_strs

File Changes

  • M Makefile.in (2)
  • M configure (7)
  • A mk/libuv/mips/unix/linux/Makefile (354)
  • A mk/libuv/mips/unix/linux/src/libuv/run-benchmarks.target.mk (122)
  • A mk/libuv/mips/unix/linux/src/libuv/run-tests.target.mk (165)
  • A mk/libuv/mips/unix/linux/src/libuv/uv.Makefile (6)
  • A mk/libuv/mips/unix/linux/src/libuv/uv.target.mk (191)
  • M mk/rt.mk (6)
  • M src/libcore/cleanup.rs (7)
  • M src/libcore/libc.rs (1)
  • M src/libcore/os.rs (6)
  • M src/libcore/path.rs (1)
  • M src/libcore/sys.rs (2)
  • M src/libcore/uint-template/uint.rs (1)
  • A src/librustc/back/mips.rs (85)
  • M src/librustc/driver/driver.rs (13)
  • M src/librustc/driver/session.rs (2)
  • M src/librustc/middle/trans/base.rs (8)
  • A src/librustc/middle/trans/cabi_mips.rs (220)
  • M src/librustc/middle/trans/common.rs (6)
  • M src/librustc/middle/trans/foreign.rs (5)
  • M src/librustc/rustc.rc (3)
  • M src/libstd/bigint.rs (6)
  • M src/libstd/net_tcp.rs (1)
  • M src/libstd/uv_ll.rs (14)
  • A src/rt/arch/mips/_context.S (82)
  • A src/rt/arch/mips/ccall.S (29)
  • A src/rt/arch/mips/context.cpp (46)
  • A src/rt/arch/mips/context.h (51)
  • A src/rt/arch/mips/gpr.cpp (31)
  • A src/rt/arch/mips/gpr.h (33)
  • A src/rt/arch/mips/record_sp.S (47)
  • A src/rt/arch/mips/regs.h (18)
  • M src/rt/rust_task.h (3)
  • M src/rustllvm/RustWrapper.cpp (12)
  • M src/rustllvm/rustllvm.def.in (7)

Patch Links:

@auroranockert
Copy link
Contributor

Awesome! What OS/processor are you testing with?

@crabtw
Copy link
Contributor Author

crabtw commented Jan 31, 2013

CPU is MIPS 34Kc and OS is Linux 2.6.36

@brson
Copy link
Contributor

brson commented Feb 14, 2013

Sorry this is taking so long to merge. The llvm rebuild of adding a new backend will cause some disruption for developers and the bots so I'm waiting for a good moment for that. Right now I'm thinking I'll merge this weekend.

@brson
Copy link
Contributor

brson commented Feb 22, 2013

I didn't do this last week because the tree was not green. I know, so many excuses. This weekend, perhaps? Time will tell.

@brson
Copy link
Contributor

brson commented Mar 2, 2013

I have a rebased branch here

@brson
Copy link
Contributor

brson commented Mar 4, 2013

Merged.

@brson brson closed this Mar 4, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants