Skip to content

Commit

Permalink
Auto merge of #135162 - pietroalbini:pa-stable, r=pietroalbini
Browse files Browse the repository at this point in the history
Prepare Rust 1.84.0 stable release

Included a backport of #135034, and squashed the release notes.

r? `@ghost`
  • Loading branch information
bors committed Jan 7, 2025
2 parents 953a5ca + 6287749 commit 9fc6b43
Show file tree
Hide file tree
Showing 9 changed files with 409 additions and 60 deletions.
3 changes: 0 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,6 @@ jobs:
# which then uses log commands to actually set them.
EXTRA_VARIABLES: ${{ toJson(matrix.env) }}

- name: setup upstream remote
run: src/ci/scripts/setup-upstream-remote.sh

- name: ensure the channel matches the target branch
run: src/ci/scripts/verify-channel.sh

Expand Down
358 changes: 353 additions & 5 deletions RELEASES.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions compiler/rustc_codegen_ssa/src/back/link.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1117,14 +1117,14 @@ fn link_natively(
let stripcmd = "rust-objcopy";
match (strip, crate_type) {
(Strip::Debuginfo, _) => {
strip_symbols_with_external_utility(sess, stripcmd, out_filename, Some("-S"))
strip_symbols_with_external_utility(sess, stripcmd, out_filename, Some("--strip-debug"))
}
// Per the manpage, `-x` is the maximum safe strip level for dynamic libraries. (#93988)
(Strip::Symbols, CrateType::Dylib | CrateType::Cdylib | CrateType::ProcMacro) => {
strip_symbols_with_external_utility(sess, stripcmd, out_filename, Some("-x"))
}
(Strip::Symbols, _) => {
strip_symbols_with_external_utility(sess, stripcmd, out_filename, None)
strip_symbols_with_external_utility(sess, stripcmd, out_filename, Some("--strip-all"))
}
(Strip::None, _) => {}
}
Expand Down
16 changes: 3 additions & 13 deletions src/build_helper/src/git.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
use std::path::{Path, PathBuf};
use std::process::{Command, Stdio};

use crate::ci::CiEnv;

pub struct GitConfig<'a> {
pub git_repository: &'a str,
pub nightly_branch: &'a str,
Expand Down Expand Up @@ -116,8 +114,8 @@ fn git_upstream_merge_base(

/// Searches for the nearest merge commit in the repository that also exists upstream.
///
/// It looks for the most recent commit made by the merge bot by matching the author's email
/// address with the merge bot's email.
/// If it fails to find the upstream remote, it then looks for the most recent commit made
/// by the merge bot by matching the author's email address with the merge bot's email.
pub fn get_closest_merge_commit(
git_dir: Option<&Path>,
config: &GitConfig<'_>,
Expand All @@ -129,15 +127,7 @@ pub fn get_closest_merge_commit(
git.current_dir(git_dir);
}

let merge_base = {
if CiEnv::is_ci() {
git_upstream_merge_base(config, git_dir).unwrap()
} else {
// For non-CI environments, ignore rust-lang/rust upstream as it usually gets
// outdated very quickly.
"HEAD".to_string()
}
};
let merge_base = git_upstream_merge_base(config, git_dir).unwrap_or_else(|_| "HEAD".into());

git.args([
"rev-list",
Expand Down
2 changes: 1 addition & 1 deletion src/ci/channel
Original file line number Diff line number Diff line change
@@ -1 +1 @@
beta
stable
24 changes: 0 additions & 24 deletions src/ci/scripts/setup-upstream-remote.sh

This file was deleted.

12 changes: 0 additions & 12 deletions src/ci/shared.sh
Original file line number Diff line number Diff line change
Expand Up @@ -136,15 +136,3 @@ function releaseChannel {
echo $RUST_CI_OVERRIDE_RELEASE_CHANNEL
fi
}

# Parse values from src/stage0 file by key
function parse_stage0_file_by_key {
local key="$1"
local file="$ci_dir/../stage0"
local value=$(awk -F= '{a[$1]=$2} END {print(a["'$key'"])}' $file)
if [ -z "$value" ]; then
echo "ERROR: Key '$key' not found in '$file'."
exit 1
fi
echo "$value"
}
8 changes: 8 additions & 0 deletions tests/run-make/strip/hello.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
fn main() {
hey_i_get_compiled();
}

#[inline(never)]
fn hey_i_get_compiled() {
println!("Hi! Do or do not strip me, your choice.");
}
42 changes: 42 additions & 0 deletions tests/run-make/strip/rmake.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
//@ ignore-windows Windows does not actually strip

// Test that -Cstrip correctly strips/preserves debuginfo and symbols.

use run_make_support::{bin_name, is_darwin, llvm_dwarfdump, llvm_nm, rustc};

fn main() {
// We use DW_ (the start of any DWARF name) to check that some debuginfo is present.
let dwarf_indicator = "DW_";

let test_symbol = "hey_i_get_compiled";
let binary = &bin_name("hello");

// Avoid checking debuginfo on darwin, because it is not actually affected by strip.
// Darwin *never* puts debuginfo in the main binary (-Csplit-debuginfo=off just removes it),
// so we never actually have any debuginfo in there, so we can't check that it's present.
let do_debuginfo_check = !is_darwin();

// Additionally, use -Cdebuginfo=2 to make the test independent of the amount of debuginfo
// for std.

// -Cstrip=none should preserve symbols and debuginfo.
rustc().arg("hello.rs").arg("-Cdebuginfo=2").arg("-Cstrip=none").run();
llvm_nm().input(binary).run().assert_stdout_contains(test_symbol);
if do_debuginfo_check {
llvm_dwarfdump().input(binary).run().assert_stdout_contains(dwarf_indicator);
}

// -Cstrip=debuginfo should preserve symbols and strip debuginfo.
rustc().arg("hello.rs").arg("-Cdebuginfo=2").arg("-Cstrip=debuginfo").run();
llvm_nm().input(binary).run().assert_stdout_contains(test_symbol);
if do_debuginfo_check {
llvm_dwarfdump().input(binary).run().assert_stdout_not_contains(dwarf_indicator);
}

// -Cstrip=symbols should strip symbols and strip debuginfo.
rustc().arg("hello.rs").arg("-Cdebuginfo=2").arg("-Cstrip=symbols").run();
llvm_nm().input(binary).run().assert_stderr_not_contains(test_symbol);
if do_debuginfo_check {
llvm_dwarfdump().input(binary).run().assert_stdout_not_contains(dwarf_indicator);
}
}

0 comments on commit 9fc6b43

Please sign in to comment.