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

Bump version #23

Open
wants to merge 334 commits into
base: master
Choose a base branch
from
Open

Bump version #23

wants to merge 334 commits into from

Conversation

c410-f3r
Copy link

@c410-f3r c410-f3r commented Nov 28, 2024

git cherry-pick d508abe73abe237b4ae58a790230b90fa16f008d^..8e7bd0b5b32d58c96aca7c6d45d3989211e1a378

Updates to 0.1.133, which is the version used by the compiler in version 1.83 according to https://github.com/rust-lang/rust/blob/1.83.0/library/std/Cargo.toml. Pushing to master while a new branch is not created.

cc @LucasSte

Amanieu and others added 30 commits April 10, 2024 13:02
add lib.miri.rs file for miri-test-libstd
This is a replacement for rust-lang/libm#290

This fixes crashes during compilations for targets that don't have math
symbols by default.

So, we will provide them libm symbols, but mark it as `weak` (if its
supported), so that the linker will choose the system builtin functions,
since those are sometimes more optimized.
If the linker couldn't find those, it will go with `libm`
implementation.
Always have math functions but with `weak` linking attribute if we can
Trying to run testcrate on non-linux aarch64 currently hits a
compilation error. Make this test linux-only, to be consistent with the
`aarch64_linux` module that it depends on.

Additionally, enable the `aarch64_linux` module for `target_arch =
"arm64ec"` to be the same as these tests.
The Apple ARM silicon has been around for a while now and hopefully will
become Rust Tier 1 at some point. Add it to CI since it is distinct
enough from aarch64-linux and x86_86-darwin that there may be
differences.
Add a fix for aarch64-darwin and enable it in CI
Allow using the `rust-lang/rust:nightly` docker image to run tests in
cases where the host rust and cargo cannot be used, such as non-linux
hosts.
Add a way to test more targets on non-linux machines
Update status of 128-bit integers in README.md
This is a continuation/fix of 018616e. In that commit, we made it add
the math functions to all platforms (except apple-targets and windows),
and use `weak` linking, so that it can be used if the system doesn't
have those functions.

Didn't notice `mod math` was behind another set of `cfg`, so removed it
as well here.
The solution is not pretty, but not sure why we still get clippy
warning from one of the files in `libm` even though we use
`allow(clippy::all)`
Fix math libraries not being linked on some platforms
Add builtins for `f16`/`f128` float conversions
Removed the `weak-intrinsics` feature, so that all functions
will have the `weak` linkage attribute.

Also this fixed the bug in
rust-lang/rust#124042.

Before this commit, generated code will be
```rust
pub extern "C" fn <name>(...) -> ... {
        // code...
}
pub mod <name> {
    #[linkage = "weak"]
    #[no_mangle]
    pub extern "C" fn <name>(...) -> ... {
        super::<name>(...)
    }
}
```

The issue is that there is 2 `weak` linkage, the first one is not required.
Along refactoring `weak` attributes, this was fixed.
`weak` is only used with `no_mangle`
Don't generate the whole function if we are not going to use `no_mangle`, there is no point
Apply `weak` attributes to all intrinsics
Update reference to rustc-std-workspace-core
It looks like I've forgotten about them [back in 2023](rust-lang#527).
fix: Add `#[avr_skip]` for `__addsf3` & `__adddf3`
tgross35 and others added 23 commits September 28, 2024 18:13
The upstream issue [1] has been resolved so we can enable these tests
again.

[1]: rust-lang#616
Ungate tests that were skipped due to a broken implementation
<rust-lang/rust#126984> has been resolved.
Remove the workaround that was introduced to suppress it.

This reverts commit 254edbc.
Revert "Temporarily `use define_rust_probestack;`"
There is a proposal to promote `riscv64gc-unknown-linux-gnu` to tier 1
[1]. We do not currently test RISC-V in CI; add it here.

[1]: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Imminent.20RFC.20PR.3A.20riscv64gc-unknown-linux-gnu.20to.20Tier-1
To prevent fail-fast in situations like
rust-lang/rust#125619, where an upstream
source compiles but creates a link error way downstream.
…eclaration

Build with `-Werror=implicit-function-declaration`
19.1 is the latest stable release from 2024-09-17. This will match what
is currently being used in rust-lang/rust.
Testing in <rust-lang/rust#131221>, we found
that <rust-lang#627> is
unusable with the current LLVM version.
Allow implicit function decl on A64
Please, see this discussion for the full
context: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/.5Bwasm32.5D.20Infinite.20recursion.20.60compiler-builtins.60.20.60__multi3.60

Signed-off-by: Enzo "raskyld" Nocera <[email protected]>

We determined that some recursion problems on SPARC and WASM were due to
infinite recusion. This was introduced at 9c6fcb5 ("Split Int into
Int and MinInt") when moving the implementation of `widen_hi` from
something on each `impl` block to a default on the trait. The reasoning
is not fully understood, but undoing this portion of the change seems to
resolve the issue.

[ add the above context - Trevor ]

Signed-off-by: Trevor Gross <[email protected]>
 fix(int): avoid infinite recursion on left shift rust-lang#707
@LucasSte
Copy link
Collaborator

Thanks for your contribution. A proper review is only possible when all pieces are together (Rust, LLVM, compiler builtins and cargo).

I forgot to mention cargo. We also update it, following the same steps we use for other repos.

@c410-f3r
Copy link
Author

Sure, no problem

dmakarov and others added 2 commits December 2, 2024 21:55
These floating point widths are not supported in Rust 1.78.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.