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

Rollup of 4 pull requests #74987

Closed
wants to merge 9 commits into from

Commits on Jul 30, 2020

  1. Configuration menu
    Copy the full SHA
    b9ac3f3 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2020

  1. 1.45.2 release notes

    Mark-Simulacrum authored and Jonas Schievink committed Jul 31, 2020
    Configuration menu
    Copy the full SHA
    f173a4b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b316642 View commit details
    Browse the repository at this point in the history
  3. Add RUST_STD_FREEBSD_12_ABI env variable

    Unfortunately, sanitizers do not support versioned symbols[1],
    so they break filesystem access via the legacy, pre-ino64 ABI.
    
    To use sanitizers on FreeBSD >= 12, we need to build the libc
    crate with LIBC_CI=1 to use the new ABI -- including the libc
    used for std. But that removes the st_lspare field std was
    expecting for the deprecated metadata extension.
    
    Add a way to skip that field to allow the build to work.
    
    [1]: google/sanitizers#628
    valpackett committed Jul 31, 2020
    Configuration menu
    Copy the full SHA
    baaf084 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dc21178 View commit details
    Browse the repository at this point in the history
  5. Rollup merge of rust-lang#74576 - myfreeweb:freebsd-sanitizers, r=oli…

    …-obk
    
    Add sanitizer support on FreeBSD
    
    Restarting rust-lang#47337. Everything is better now, no more weird llvm problems, well not everything:
    
    Unfortunately, the sanitizers don't have proper support for versioned symbols (google/sanitizers#628), so `libc`'s usage of `stat@FBSD_1.0` and so on explodes, e.g. in calling `std::fs::metadata`.
    
    Building std (now easy thanks to cargo `-Zbuild-std`) and libc with `freebsd12/13` config via the `LIBC_CI=1` env variable is a good workaround…
    
    ```
    LIBC_CI=1 RUSTFLAGS="-Z sanitizer=address" cargo +san-test -Zbuild-std run --target x86_64-unknown-freebsd --verbose
    ```
    
    …*except* std won't build because there's no `st_lspare` in the ino64 version of the struct, so an std patch is required:
    
    ```diff
    --- i/src/libstd/os/freebsd/fs.rs
    +++ w/src/libstd/os/freebsd/fs.rs
    @@ -66,8 +66,6 @@ pub trait MetadataExt {
         fn st_flags(&self) -> u32;
         #[stable(feature = "metadata_ext2", since = "1.8.0")]
         fn st_gen(&self) -> u32;
    -    #[stable(feature = "metadata_ext2", since = "1.8.0")]
    -    fn st_lspare(&self) -> u32;
     }
    
     #[stable(feature = "metadata_ext", since = "1.1.0")]
    @@ -136,7 +134,4 @@ impl MetadataExt for Metadata {
         fn st_flags(&self) -> u32 {
             self.as_inner().as_inner().st_flags as u32
         }
    -    fn st_lspare(&self) -> u32 {
    -        self.as_inner().as_inner().st_lspare as u32
    -    }
     }
    ```
    
    I guess std could like.. detect that `libc` isn't built for the old ABI, and replace the implementation of `st_lspare` with a panic?
    Manishearth committed Jul 31, 2020
    Configuration menu
    Copy the full SHA
    9fdc807 View commit details
    Browse the repository at this point in the history
  6. Rollup merge of rust-lang#74582 - Lezzz:rename-hair, r=nikomatsakis

    Rename HAIR to THIR (Typed HIR).
    
    r? @nikomatsakis
    
    Originally suggested by @eddyb
    Manishearth committed Jul 31, 2020
    Configuration menu
    Copy the full SHA
    0795348 View commit details
    Browse the repository at this point in the history
  7. Rollup merge of rust-lang#74644 - crlf0710:drop_old_stuff, r=Amanieu

    Remove `linked_list_extras` methods.
    
    Removing these in favor of the `Cursor` API in rust-lang#58533 .
    Closes rust-lang#27794.
    
    r? @Amanieu
    Manishearth committed Jul 31, 2020
    Configuration menu
    Copy the full SHA
    1f93021 View commit details
    Browse the repository at this point in the history
  8. Rollup merge of rust-lang#74982 - jonas-schievink:relnotes-1.45.2, r=…

    …Mark-Simulacrum
    
    1.45.2 release notes
    
    (for master)
    
    cc rust-lang#74958
    Manishearth committed Jul 31, 2020
    Configuration menu
    Copy the full SHA
    c6af255 View commit details
    Browse the repository at this point in the history