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

Update the libc submodule #44116

Merged
merged 1 commit into from
Aug 31, 2017
Merged

Update the libc submodule #44116

merged 1 commit into from
Aug 31, 2017

Conversation

alexcrichton
Copy link
Member

Brings in a few fixes for wasm/asmjs

@rust-highfive
Copy link
Collaborator

r? @nikomatsakis

(rust_highfive has picked a reviewer for you, use r? to override)

@Mark-Simulacrum
Copy link
Member

@bors r+

@bors
Copy link
Contributor

bors commented Aug 27, 2017

📌 Commit 9db91b2 has been approved by Mark-Simulacrum

@lilianmoraru
Copy link

Follow-up?: issue, commented code(In that commit I see a few ignore-emscripten/ignore-wasm32. Also, issue 42646 was fixed upstream and closed)

@bors
Copy link
Contributor

bors commented Aug 27, 2017

⌛ Testing commit 9db91b246f277d571b8a44ea0a633d748b059c1e with merge 15de56f18ee7a040b19e880414ec34fe3ed89245...

@bors
Copy link
Contributor

bors commented Aug 27, 2017

💔 Test failed - status-travis

@kennytm
Copy link
Member

kennytm commented Aug 28, 2017

asmjs failed to build stage2-std (but stage0 and stage1 are fine?), lots of E0308 errors due to *u8 vs *i8, legit.

[00:40:38] warning: dropping unsupported crate type `dylib` for target `asmjs-unknown-emscripten`
[00:40:38] 
[00:40:39] error[E0425]: cannot find function `pthread_sigmask` in module `libc`
[00:40:39]    --> /checkout/src/libstd/sys/unix/process/process_unix.rs:206:26
[00:40:39]     |
[00:40:39] 206 |             t!(cvt(libc::pthread_sigmask(libc::SIG_SETMASK, &set,
[00:40:39]     |                          ^^^^^^^^^^^^^^^ not found in `libc`
[00:40:39] 
[00:40:40] error[E0308]: mismatched types
[00:40:40]    --> /checkout/src/libstd/ffi/c_str.rs:313:32
[00:40:40]     |
[00:40:40] 313 |         let len = libc::strlen(ptr) + 1; // Including the NUL byte
[00:40:40]     |                                ^^^ expected i8, found u8
[00:40:40]     |
[00:40:40]     = note: expected type `*const i8`
[00:40:40]                found type `*mut u8`
[00:40:40] 
[00:40:40] error[E0308]: mismatched types
[00:40:40]    --> /checkout/src/libstd/ffi/c_str.rs:749:32
[00:40:40]     |
[00:40:40] 749 |         let len = libc::strlen(ptr);
[00:40:40]     |                                ^^^ expected i8, found u8
[00:40:40]     |
[00:40:40]     = note: expected type `*const i8`
[00:40:40]                found type `*const u8`
[00:40:40]     = help: here are some functions which might fulfill your needs:
[00:40:40]             - .offset(...)
[00:40:40]             - .wrapping_offset(...)
[00:40:40] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys_common/net.rs:172:38
[00:40:41]     |
[00:40:41] 172 |         match cvt_gai(c::getaddrinfo(c_host.as_ptr(), ptr::null(), &hints, &mut res)) {
[00:40:41]     |                                      ^^^^^^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]   --> /checkout/src/libstd/sys/unix/weak.rs:78:37
[00:40:41]    |
[00:40:41] 78 |     libc::dlsym(libc::RTLD_DEFAULT, name.as_ptr()) as usize
[00:40:41]    |                                     ^^^^^^^^^^^^^ expected i8, found u8
[00:40:41]    |
[00:40:41]    = note: expected type `*const i8`
[00:40:41]               found type `*const u8`
[00:40:41]    = help: here are some functions which might fulfill your needs:
[00:40:41]            - .offset(...)
[00:40:41]            - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]   --> /checkout/src/libstd/sys/unix/args.rs:84:28
[00:40:41]    |
[00:40:41] 84 |             CStr::from_ptr(*argv.offset(i) as *const libc::c_char).to_bytes().to_vec()
[00:40:41]    |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected u8, found i8
[00:40:41]    |
[00:40:41]    = note: expected type `*const u8`
[00:40:41]               found type `*const i8`
[00:40:41]    = help: here are some functions which might fulfill your needs:
[00:40:41]            - .offset(...)
[00:40:41]            - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]   --> /checkout/src/libstd/sys/unix/backtrace/printing/dladdr.rs:28:28
[00:40:41]    |
[00:40:41] 28 |             CStr::from_ptr(info.dli_sname).to_str().ok()
[00:40:41]    |                            ^^^^^^^^^^^^^^ expected u8, found i8
[00:40:41]    |
[00:40:41]    = note: expected type `*const u8`
[00:40:41]               found type `*const i8`
[00:40:41]    = help: here are some functions which might fulfill your needs:
[00:40:41]            - .offset(...)
[00:40:41]            - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]   --> /checkout/src/libstd/sys/unix/fd.rs:82:41
[00:40:41]    |
[00:40:41] 82 |             cvt(pread64(fd, buf, count, offset))
[00:40:41]    |                                         ^^^^^^ expected i32, found i64
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fd.rs:115:42
[00:40:41]     |
[00:40:41] 115 |             cvt(pwrite64(fd, buf, count, offset))
[00:40:41]     |                                          ^^^^^^ expected i32, found i64
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:352:28
[00:40:41]     |
[00:40:41] 352 |             CStr::from_ptr(self.entry.d_name.as_ptr()).to_bytes()
[00:40:41]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^ expected u8, found i8
[00:40:41]     |
[00:40:41]     = note: expected type `*const u8`
[00:40:41]                found type `*const i8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:434:20
[00:40:41]     |
[00:40:41] 434 |             open64(path.as_ptr(), flags, opts.mode as c_int)
[00:40:41]     |                    ^^^^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:517:52
[00:40:41]     |
[00:40:41] 517 |         let n = cvt(unsafe { lseek64(self.0.raw(), pos, whence) })?;
[00:40:41]     |                                                    ^^^ expected i32, found i64
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:542:34
[00:40:41]     |
[00:40:41] 542 |         cvt(unsafe { libc::mkdir(p.as_ptr(), self.mode) })?;
[00:40:41]     |                                  ^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:631:33
[00:40:41]     |
[00:40:41] 631 |         let ptr = libc::opendir(p.as_ptr());
[00:40:41]     |                                 ^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:642:31
[00:40:41]     |
[00:40:41] 642 |     cvt(unsafe { libc::unlink(p.as_ptr()) })?;
[00:40:41]     |                               ^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:649:31
[00:40:41]     |
[00:40:41] 649 |     cvt(unsafe { libc::rename(old.as_ptr(), new.as_ptr()) })?;
[00:40:41]     |                               ^^^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:649:45
[00:40:41]     |
[00:40:41] 649 |     cvt(unsafe { libc::rename(old.as_ptr(), new.as_ptr()) })?;
[00:40:41]     |                                             ^^^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:655:35
[00:40:41]     |
[00:40:41] 655 |     cvt_r(|| unsafe { libc::chmod(p.as_ptr(), perm.mode) })?;
[00:40:41]     |                                   ^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:661:30
[00:40:41]     |
[00:40:41] 661 |     cvt(unsafe { libc::rmdir(p.as_ptr()) })?;
[00:40:41]     |                              ^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:694:28
[00:40:41]     |
[00:40:41] 694 |             libc::readlink(p, buf.as_mut_ptr() as *mut _, buf.capacity())
[00:40:41]     |                            ^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:715:32
[00:40:41]     |
[00:40:41] 715 |     cvt(unsafe { libc::symlink(src.as_ptr(), dst.as_ptr()) })?;
[00:40:41]     |                                ^^^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:715:46
[00:40:41]     |
[00:40:41] 715 |     cvt(unsafe { libc::symlink(src.as_ptr(), dst.as_ptr()) })?;
[00:40:41]     |                                              ^^^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:722:29
[00:40:41]     |
[00:40:41] 722 |     cvt(unsafe { libc::link(src.as_ptr(), dst.as_ptr()) })?;
[00:40:41]     |                             ^^^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:722:43
[00:40:41]     |
[00:40:41] 722 |     cvt(unsafe { libc::link(src.as_ptr(), dst.as_ptr()) })?;
[00:40:41]     |                                           ^^^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:730:16
[00:40:41]     |
[00:40:41] 730 |         stat64(p.as_ptr(), &mut stat as *mut _ as *mut _)
[00:40:41]     |                ^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:739:17
[00:40:41]     |
[00:40:41] 739 |         lstat64(p.as_ptr(), &mut stat as *mut _ as *mut _)
[00:40:41]     |                 ^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:748:32
[00:40:41]     |
[00:40:41] 748 |         let r = libc::realpath(path.as_ptr(), ptr::null_mut());
[00:40:41]     |                                ^^^^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/fs.rs:752:30
[00:40:41]     |
[00:40:41] 752 |         buf = CStr::from_ptr(r).to_bytes().to_vec();
[00:40:41]     |                              ^ expected u8, found i8
[00:40:41]     |
[00:40:41]     = note: expected type `*const u8`
[00:40:41]                found type `*mut i8`
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]   --> /checkout/src/libstd/sys/unix/net.rs:59:39
[00:40:41]    |
[00:40:41] 59 |         str::from_utf8(CStr::from_ptr(libc::gai_strerror(err)).to_bytes()).unwrap()
[00:40:41]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^ expected u8, found i8
[00:40:41]    |
[00:40:41]    = note: expected type `*const u8`
[00:40:41]               found type `*const i8`
[00:40:41]    = help: here are some functions which might fulfill your needs:
[00:40:41]            - .offset(...)
[00:40:41]            - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/os.rs:112:42
[00:40:41]     |
[00:40:41] 112 |                 let len = CStr::from_ptr(buf.as_ptr() as *const libc::c_char).to_bytes().len();
[00:40:41]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected u8, found i8
[00:40:41]     |
[00:40:41]     = note: expected type `*const u8`
[00:40:41]                found type `*const i8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/os.rs:136:27
[00:40:41]     |
[00:40:41] 136 |         match libc::chdir(p.as_ptr()) == (0 as c_int) {
[00:40:41]     |                           ^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/os.rs:391:59
[00:40:41]     |
[00:40:41] 391 |             if let Some(key_value) = parse(CStr::from_ptr(*environ).to_bytes()) {
[00:40:41]     |                                                           ^^^^^^^^ expected u8, found i8
[00:40:41]     |
[00:40:41]     = note: expected type `*const u8`
[00:40:41]                found type `*const i8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/os.rs:426:30
[00:40:41]     |
[00:40:41] 426 |         let s = libc::getenv(k.as_ptr()) as *const _;
[00:40:41]     |                              ^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/os.rs:443:36
[00:40:41]     |
[00:40:41] 443 |         let ret = cvt(libc::setenv(k.as_ptr(), v.as_ptr(), 1)).map(|_| ());
[00:40:41]     |                                    ^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/os.rs:443:48
[00:40:41]     |
[00:40:41] 443 |         let ret = cvt(libc::setenv(k.as_ptr(), v.as_ptr(), 1)).map(|_| ());
[00:40:41]     |                                                ^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/os.rs:454:38
[00:40:41]     |
[00:40:41] 454 |         let ret = cvt(libc::unsetenv(nbuf.as_ptr())).map(|_| ());
[00:40:41]     |                                      ^^^^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]   --> /checkout/src/libstd/sys/unix/process/process_common.rs:96:24
[00:40:41]    |
[00:40:41] 96 |             argv: vec![program.as_ptr(), ptr::null()],
[00:40:41]    |                        ^^^^^^^^^^^^^^^^ expected i8, found u8
[00:40:41]    |
[00:40:41]    = note: expected type `*const i8`
[00:40:41]               found type `*const u8`
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/process/process_common.rs:116:42
[00:40:41]     |
[00:40:41] 116 |         self.argv[self.args.len() + 1] = arg.as_ptr();
[00:40:41]     |                                          ^^^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/process/process_common.rs:136:30
[00:40:41]     |
[00:40:41] 136 |             self.envp = Some(envp);
[00:40:41]     |                              ^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `alloc::Vec<*const i8>`
[00:40:41]                found type `alloc::Vec<*const u8>`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .to_vec()
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/process/process_common.rs:152:27
[00:40:41]     |
[00:40:41] 152 |                 envp[i] = new_key.as_ptr();
[00:40:41]     |                           ^^^^^^^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/process/process_common.rs:157:33
[00:40:41]     |
[00:40:41] 157 |                 envp[len - 1] = new_key.as_ptr();
[00:40:41]     |                                 ^^^^^^^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error[E0308]: mismatched types
[00:40:41]    --> /checkout/src/libstd/sys/unix/process/process_unix.rs:180:32
[00:40:41]     |
[00:40:41] 180 |             t!(cvt(libc::chdir(cwd.as_ptr())));
[00:40:41]     |                                ^^^^^^^^^^^^ expected i8, found u8
[00:40:41]     |
[00:40:41]     = note: expected type `*const i8`
[00:40:41]                found type `*const u8`
[00:40:41]     = help: here are some functions which might fulfill your needs:
[00:40:41]             - .offset(...)
[00:40:41]             - .wrapping_offset(...)
[00:40:41] 
[00:40:41] error: aborting due to 42 previous errors
[00:40:41] 
[00:40:41] error: Could not compile `std`.

@carols10cents carols10cents added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Aug 28, 2017
Brings in a few fixes for wasm/asmjs
@alexcrichton
Copy link
Member Author

@bors: r=Mark-Simulacrum

@bors
Copy link
Contributor

bors commented Aug 28, 2017

📌 Commit e5b123c has been approved by Mark-Simulacrum

@arielb1 arielb1 added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Aug 29, 2017
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Aug 30, 2017
…mulacrum

Update the libc submodule

Brings in a few fixes for wasm/asmjs
bors added a commit that referenced this pull request Aug 31, 2017
Rollup of 8 pull requests

- Successful merges: #44044, #44089, #44116, #44125, #44154, #44157, #44160, #44172
- Failed merges: #44162
@bors bors merged commit e5b123c into rust-lang:master Aug 31, 2017
@alexcrichton alexcrichton deleted the update-libc branch September 1, 2017 23:06
@alexcrichton
Copy link
Member Author

Nominating for beta as this was a breaking change for the emscripten target, so getting this out sooner will help align the libc module with libstd again.

@alexcrichton alexcrichton added the beta-nominated Nominated for backporting to the compiler in the beta channel. label Sep 14, 2017
@alexcrichton alexcrichton added the beta-accepted Accepted for backporting to the compiler in the beta channel. label Sep 26, 2017
@nikomatsakis
Copy link
Contributor

Backported this now.

This was referenced Sep 28, 2017
@alexcrichton alexcrichton removed the beta-nominated Nominated for backporting to the compiler in the beta channel. label Sep 28, 2017
bors added a commit that referenced this pull request Sep 28, 2017
Beta 20170928

Backports of:

- Allow unused extern crate again #44825
- macros: fix bug in collecting trait and impl items with derives. #44757
-  `--cap-lints allow` switches off `can_emit_warnings` #44627
-  Update the libc submodule #44116
- limit and clear cache obligations opportunistically #44269
- clear out projection subobligations after they are processed #43999
bors added a commit that referenced this pull request Oct 7, 2017
Beta 20170928

Backports of:

- Allow unused extern crate again #44825
- macros: fix bug in collecting trait and impl items with derives. #44757
-  `--cap-lints allow` switches off `can_emit_warnings` #44627
-  Update the libc submodule #44116
- limit and clear cache obligations opportunistically #44269
- clear out projection subobligations after they are processed #43999
-  fix logic error in #44269's `prune_cache_value_obligations` #45065
- REVERTS #43543: Cleanup some remains of `hr_lifetime_in_assoc_type` compatibility lint:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
beta-accepted Accepted for backporting to the compiler in the beta channel. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants