Uh oh!
There was an error while loading. Please reload this page.
Replace the in-tree libc with the external copy - #29546
Conversation
rust-highfive
commented
Nov 3, 2015
(rust_highfive has picked a reviewer for you, use r? to override) |
alexcrichton
commented
Nov 3, 2015
brson
commented
Nov 3, 2015
r=me |
brson
commented
Nov 3, 2015
Tagging this with relnotes to remind myself to mention the libc rewrite in the notes. |
f08e189 to
fafb135Comparesemarie
commented
Nov 4, 2015
@alexcrichton thanks to cc me yes, it seems to break openbsd, but it seems related to new-libc code. I will take a look. |
semarie
commented
Nov 4, 2015
I have made a PR for make openbsd (and bitrig, I hope) be able to build libc rust-lang/libc#39 But I still have a weird error while trying to build rustc with my PR (stop in stage1 libstd building): whereas a version with "plain" liblibc build fine. |
There was a problem hiding this comment.
@alexcrichton why this ? it breaks at least the openbsd build.
src/libstd/lib.rs has drop_in_place feature, but it used only on some targets. So removing unused_attributes will break stage1/stage2 for others.
There was a problem hiding this comment.
Hm, I'll look into fixing, I'm not a huge fan of allowing lints like this which are intentionally here to help clean up some code!
586481d to
c30a40dComparealexcrichton
commented
Nov 4, 2015
bors
commented
Nov 4, 2015
⌛ Testing commit c30a40d with merge 4c0cd18... |
bors
commented
Nov 4, 2015
💔 Test failed - auto-mac-64-nopt-t |
alexcrichton
commented
Nov 4, 2015
@bors: r=brson 29ddae2 |
bors
commented
Nov 4, 2015
⌛ Testing commit 29ddae2 with merge 8ace105... |
bors
commented
Nov 9, 2015
💔 Test failed - auto-linux-musl-64-opt |
alexcrichton
commented
Nov 9, 2015
@bors: r=brson 615c345 |
bors
commented
Nov 9, 2015
⌛ Testing commit 615c345 with merge 7612930... |
bors
commented
Nov 9, 2015
💔 Test failed - auto-linux-cross-opt |
alexcrichton
commented
Nov 10, 2015
@bors: r=brson 9da29e0813aa051b15cfd97874bd163ee52ac859 |
bors
commented
Nov 10, 2015
⌛ Testing commit 9da29e0 with merge 31ae76d... |
bors
commented
Nov 10, 2015
💔 Test failed - auto-linux-64-x-android-t |
* Delete `sys::unix::{c, sync}` as these are now all folded into libc itself
* Update all references to use `libc` as a result.
* Update all references to the new flat namespace.
* Moves all windows bindings into sys::calexcrichton
commented
Nov 10, 2015
This commit replaces the in-tree liblibc with the [external clone](https://github.com/rust-lang-nursery/libc) which has no evolved beyond the in-tree version in light of its [recent redesign](rust-lang/rfcs#1291). The primary changes here are: * `src/liblibc/lib.rs` was deleted * `src/liblibc` is now a submodule pointing at the external repository * `src/libstd/sys/unix/{c.rs,sync.rs}` were both deleted having all bindings folded into the external liblibc. * Many ad-hoc `extern` blocks in the standard library were removed in favor of bindings now being in the external liblibc. * Many functions/types were added to `src/libstd/sys/windows/c.rs`, and the scattered definitions throughout the standard library were consolidated here. At the API level this commit is **not a breaking change**, although it is only very lightly tested on the *BSD variants and is probably going to break almost all of their builds! Follow-up commits to liblibc should in theory be all that's necessary to get the build working on the *BSDs again.
bors
commented
Nov 10, 2015
bors
commented
Nov 10, 2015
dhuseby
commented
Nov 11, 2015
I've been in London at MozFest. I'm trying to catch up now. |
mneumann
commented
Nov 13, 2015
@dhuseby : One thing you have to fix for FreeBSD is to define SIGSTKSZ. I did it for DragonFly (rust-lang/libc#60), but didn't know the exact value for FreeBSD. |
dhuseby
commented
Dec 30, 2015
@mneumann thanks, i believe it's fixed now. |
This commit replaces the in-tree liblibc with the external clone which has no evolved beyond the in-tree version in light of its recent redesign.
The primary changes here are:
src/liblibc/lib.rswas deletedsrc/liblibcis now a submodule pointing at the external repositorysrc/libstd/sys/unix/{c.rs,sync.rs}were both deleted having all bindings folded into the external liblibc.externblocks in the standard library were removed in favor of bindings now being in the external liblibc.src/libstd/sys/windows/c.rs, and the scattered definitions throughout the standard library were consolidated here.At the API level this commit is not a breaking change, although it is only very lightly tested on the *BSD variants and is probably going to break almost all of their builds! Follow-up commits to liblibc should in theory be all that's necessary to get the build working on the *BSDs again.