Skip to content
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

Add support for alternative C libraries #7283

Closed
brson opened this Issue Jun 21, 2013 · 10 comments

Comments

Projects
None yet
7 participants
@brson
Copy link
Contributor

brson commented Jun 21, 2013

Makes snapshots more compatible. Required for microcontroller Rust. musl is the favorite.

@vi

This comment has been minimized.

Copy link
Contributor

vi commented Jul 11, 2013

Vote up. I don't want musl-gcc (or similar things) to be the sole way to create little system stand-alone executables. I hope it will mix well with https://github.com/pcwalton/zero.rs

@thestinger

This comment has been minimized.

Copy link
Contributor

thestinger commented Jul 11, 2013

We can eventually avoid the libc dependency completely in runtime-less Rust. It's not very hard to do system calls natively on x86 (interrupts) and x86_64 (syscall instruction). We would also need to support using the vdso to avoid unnecessary overhead on operations like checking the time, because those are optimized to read kernel-space memory without a context-switch.

@vi

This comment has been minimized.

Copy link
Contributor

vi commented Jul 11, 2013

Mixed "little C library + little Rust runtime" can also be helpful, for projects using both C and Rust code.

Ideally it should be flexible: the more features you use, the more runtime and dependencies the program have.

@catamorphism

This comment has been minimized.

Copy link
Contributor

catamorphism commented Sep 2, 2013

Visiting for bug triage. Not a release blocker IMO.

@cmr

This comment has been minimized.

Copy link
Member

cmr commented Jan 6, 2014

Triage. Easy to do with #[no_std], I don't think it should be a priority atm.

@thestinger

This comment has been minimized.

Copy link
Contributor

thestinger commented Jan 25, 2014

#2124 would make this very easy. In fact, it will probably just work out-of-the-box with most alternative C libraries if we did that.

@alexchandel

This comment has been minimized.

Copy link

alexchandel commented Dec 3, 2014

Rust currently depends on gcc_s for task unwinding on linux and bsd. Dropping this dependency is necessary for systems without glibc/gcc.

@vi

This comment has been minimized.

Copy link
Contributor

vi commented Dec 3, 2014

Is task unwinding only for debugging and/or error handling, or it is needed for any Rust code to run?

@alexchandel

This comment has been minimized.

Copy link

alexchandel commented Dec 6, 2014

@vi Task unwinding is only for handling panics in the calling task. It is debatable whether this is even the correct behavior.

@steveklabnik

This comment has been minimized.

Copy link
Member

steveklabnik commented Jan 21, 2015

I'm pulling a massive triage effort to get us ready for 1.0. As part of this, I'm moving stuff that's wishlist-like to the RFCs repo, as that's where major new things should get discussed/prioritized.

This issue has been moved to the RFCs repo: rust-lang/rfcs#625

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.