4dsdev
Views: 1,599,013 Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search 10-07-24 09:20 PM
Guest:

Main - Posts by Furyhunter


Furyhunter
Posted on 06-12-15 09:37 PM, in Rust on 3DS Link | #209
I spent this week trying to get Rust code running on a 3DS, and it's been mostly successful.

Basically, you just need to tell rustc/cargo to use a particular llvm target, linker and archiver to build any package that doesn't depend on libstd. If you want libstd support, you need system-specific implementation of some of its functionality. But, libcore provides a platform-independent subset of libstd, which is what is used in my ctrulib binding, ctru-rs. It's heavily incomplete but exposes a large number of functions via a raw submodule, and has a few basic idiomatic wrappers around things.

Unfortunately, LLVM still emits calls to compiler-rt symbols, so I am working on a solution for that at the moment. I figured that it might interest those who come to this forum.

A sample project I am working on can be found here..

Furyhunter
Posted on 06-23-15 03:09 PM, in Rust on 3DS Link | #236
Does anyone know how to cross-compile compiler-rt, the llvm companion library that provides implementations of instructions not available on each platform? The documentation for llvm is so piss poor I can't find how to build just for the host platform, let alone cross compile.

Furyhunter
Posted on 09-17-15 09:51 PM, in Rust on 3DS (rev. 2 of 09-17-15 11:20 PM) Link | #419
New project template: https://github.com/Furyhunter/rust3ds-template

Everything works. Follow the instructions to set up your environment. Everything _except_ libstd works. You get: core, collections, rustc_unicode, alloc, so basically everything important from libstd except threads and unwinding support.


Main - Posts by Furyhunter

Page rendered in 0.017 seconds. (2048KB of memory used)
MySQL - queries: 22, rows: 65/65, time: 0.010 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.