about summary refs log tree commit diff
path: root/library/compiler-builtins/crates
AgeCommit message (Collapse)AuthorLines
2025-08-09symcheck: Skip `__ymm@` symbols on WindowsTrevor Gross-1/+1
Like `__real@`, and `__xmm@`, Windows can emit duplicate `__ymm@` symbols for constants.
2025-08-07symcheck: Ignore symbols in `.debug_gdb_scripts`Trevor Gross-0/+5
Since [1], our object files may now contain a GDB script section. These symbols wind up with multiple instances in the archive but are weak, so we can safely ignore them in our duplicates check. This resolves the current CI failures. [1]: https://github.com/rust-lang/rust/pull/143679
2025-08-07symcheck: Store the section name in `SymInfo` if availableTrevor Gross-10/+20
Currently `SymInfo` stores a `Section`, which is just an index: SymInfo { section: Section( SectionIndex( 539, ), ), ... }, Look up and store the section name instead if possible, with a fallback to the `Section` debug printing. This makes output more clear and will allow us to filter by section name.
2025-07-24Enable tests that were skipped on PowerPCTrevor Gross-2/+0
Most of these were skipped because of a bug with the platform implementation, or some kind of crash unwinding. Since the upgrade to Ubuntu 25.04, these all seem to be resolved with the exception of a bug in the host `__floatundisf` [1]. [1] https://github.com/rust-lang/compiler-builtins/pull/384#issuecomment-740413334
2025-07-24symcheck: Switch the `object` dependency from git to crates.ioTrevor Gross-2/+1
Wasm support has since been released, so we no longer need to depend on a git version of `object`.
2025-07-10Upgrade dependencies to the latest versionTrevor Gross-2/+2
This picks up a fix in `rustc_apfloat` [1] that resolves a problem with `fma`. [1]: https://github.com/rust-lang/rustc_apfloat/releases/tag/rustc_apfloat-v0.2.3%2Bllvm-462a31f5a5ab
2025-07-08Remove josh-sync crateJakub Beránek-454/+0
2025-07-04symcheck: Improve diagnostics from spawned CargoTrevor Gross-7/+22
Rather than printing the entire JSON dump, use the rendered version.
2025-07-04symcheck: Make `target` a positional argumentTrevor Gross-14/+23
This makes it more obvious what we intend to check rather than looking for `--target`.
2025-07-04Remove the `let_chains` feature now that it is stableTrevor Gross-2/+0
2025-06-30josh-sync: Replace `#xxxx`-style links in messagesTrevor Gross-0/+31
Often our short summaries will pick up a Bors "Auto merge of #xxxx ...` commit message. Replace these with something like `rust-lang/rust#1234` to avoid broken links when going between repositories.
2025-06-14symcheck: Add a wrapper around an archiveTrevor Gross-24/+80
Rather than re-opening the archive file for each check, add a wrapper that keeps the data in memory. Additionally, collect the `--target` argument so it can be used within this crate.
2025-06-04`panic-handler`: Remove the `no_core` featureTrevor Gross-5/+2
This was introduced before `#[panic_handler]` was stable, but should no longer be needed. Additionally, we only need it for `builtins-test-intrinsics`, not as a dependency of `compiler-builtins`.
2025-06-04Add tooling for `josh` syncsTrevor Gross-0/+423
Create a crate that handles pulling from and pushing to rust-lang/rust. This can be invoked with the following: $ cargo run -p josh-sync -- rustc-pull $ RUSTC_GIT=/path/to/rust/checkout cargo run -p josh-sync -- rustc-push <username>
2025-06-04Replace the musl submodule with a download scriptTrevor Gross-1/+1
The submodule was causing issues in rust-lang/rust, so eliminiate it here. `build-musl` is also removed from `libm-test`'s default features so the crate doesn't need to be built by default.
2025-06-01Upgrade all dependencies to the latest available versionTrevor Gross-3/+3
In particular, this includes a fix to `iai-callgrind` that will allow us to simplify our benchmark runner.
2025-05-29symcheck: Print the command to make reproducing errors easierTrevor Gross-7/+8
2025-05-29Remove the now-unneeded llvm-tools-previewTrevor Gross-1/+1
Since a working `nm` is no longer needed as part of CI, the rustup component can be removed.
2025-05-29Replace the `nm` symbol check with a Rust implementationTrevor Gross-0/+244
This should be less error-prone and adaptable than the `nm` version, and have better cross-platform support without needing LLVM `nm` installed.
2025-05-18fix an if statement that can be collapsedFolkert de Vries-19/+21
2025-04-23libm-macros: Allow a way to bulk match f16 and f128 functionsTrevor Gross-41/+121
These are never available in musl, so introduce easier ways to skip them rather than needing to exclude f16/f128 functions in three different places.
2025-04-23libm-macros: Start tracking which functions are publicTrevor Gross-172/+219
It would be nice to reuse some of the macro structure for internal functions, like `rem_pio2`. To facilitate this, add a `public` field and make it available in the macro's API.
2025-04-22musl: Update submoduleTrevor Gross-0/+0
Update the musl submodule to c47ad25ea3 ("iconv: harden UTF-8 output code path against input decoder bugs").
2025-04-21Update licensing information after repository refactoringTrevor Gross-0/+3
In order to disambiguate things now that libm is part of the compiler-builtins repository, do the following: * Mention libm in LICENSE.txt * Clarify the default license for crates other than libm and compiler-builtins * Add an explicit license field to Cargo.toml for all other crates
2025-04-20Set the musl submodule to 61399d4b ("loongarch64: add TLSDESC support")Trevor Gross-0/+0
Set the submodule to the same version we had been using in rust-lang/libm. This is a downgrade from the current version but it avoids some new deviations that show up, which can be corrected later.
2025-04-19Run `cargo fmt` on all projectsTrevor Gross-74/+277
Apply the same formatting rules to both `libm` and `compiler-builtins`.
2025-04-19libm: Fix crate compilationTrevor Gross-1/+1
Update paths and submodules to fix `libm-test` and `util` building so we will be able to add them to the workspace.
2025-04-19libm: Reorganize into compiler-builtinsTrevor Gross-0/+2572
Distribute everything from `libm/` to better locations in the repo. `libm/libm/*` has not moved yet to avoid Git seeing the move as an edit to `Cargo.toml`. Files that remain to be merged somehow are in `etc/libm`.
2025-03-19Switch repository layout to use a virtual manifestTrevor Gross-0/+4
The current setup has the `Cargo.toml` for `compiler-builtins` at the repository root, which means all support crates and other files are located within the package root. This works for now but is not the cleanest setup since files that should or shouldn't be included in the package need to be configured in `Cargo.toml`. If we eventually merge `libm` development into this repository, it would be nice to make this separation more straightforward. Begin cleaning things up by moving the crate source to a new `compiler-builtins` directory and adding a virtual manifest. For now the `libm` submodule is also moved, but in the future it can likely move back to the top level (ideally `compiler-builtins/src` would contain a symlink to `libm/src/math`, but unfortunately it seems like Cargo does not like something about the submodule + symlink combination).
2025-03-06Migrate `testcrate` and `panic-handler` to edition 2024Trevor Gross-1/+1
Includes `extern` -> `unsafe extern` blocks and formatting updates.
2024-07-26Add `release-plz` for automatic releases.Trevor Gross-0/+1
This is what `cc-rs` is using and should create a release PR whenever a change to `master` is made. If the branch is merged, it should publish the new version. Includes configuration to disable semver checks and not keep a changelog since this is an implementation detail.
2024-07-06Get rid of a warningAndrey Turkin-0/+1
2021-04-02Fix panic-handler documentationAaron Kutch-1/+1
rust-lang/rust#51647 is fixed but panic-handler is still needed
2018-09-13`panic_handler` is now stablePaolo Teti-1/+1
Fixes the following warning: "warning: the feature `panic_handler` has been stable since 1.30.0 and no longer requires an attribute to enable"
2018-09-01Rename panic_implementation -> panic_handlerPaolo Teti-3/+3
panic_implementation has been deprecated/renamed. New name is panic_handler
2018-07-12Try to fix intrinsics example on nightlyAlex Crichton-0/+17