rust/library/compiler-builtins
Trevor Gross aff21f659f compiler-builtins: Eliminate symlinks
compiler-builtins has a symlink to the `libm` source directory so the
two crates can share files but still act as two separate crates. This
causes problems with some sysroot-related tooling, however, since
directory symlinks seem to not be supported.

The reason this was a symlink in the first place is that there isn't an
easy for Cargo to publish two crates that share source (building works
fine but publishing rejects `include`d files from parent directories, as
well as nested package roots). However, after the switch to a subtree,
we no longer need to publish compiler-builtins; this means that we can
eliminate the link and just use `#[path]`.

Similarly, the LICENSE file was symlinked so it could live in the
repository root but be included in the package. This is also removed as
it caused problems with the dist job (error from bootstrap's
`tarball.rs`, "generated a symlink in a tarball").

If we need to publish compiler-builtins again for any reason, it would
be easy to revert these changes in a preprocess step.
2025-06-02 23:59:11 +00:00
..
.github/workflows ci: Fix extensive tests 2025-04-21 22:50:42 -04:00
builtins-test Resolve unnecessary_transmutes lints 2025-04-29 18:15:02 -04:00
builtins-test-intrinsics builtins-test: Remove no_mangle from eh_personality 2025-05-01 15:03:07 -04:00
ci ci: Mention ci: skip-extensive in the error message 2025-05-05 02:31:52 -04:00
compiler-builtins compiler-builtins: Eliminate symlinks 2025-06-02 23:59:11 +00:00
crates fix an if statement that can be collapsed 2025-05-18 12:01:05 +02:00
etc Use runtime feature detection for fma routines on x86 2025-05-03 14:17:49 -04:00
libm Fix i256::MAX 2025-05-13 15:01:51 +02:00
libm-test fmaf: Add a test case from a MinGW failure 2025-05-01 21:24:34 -04:00
.editorconfig Move the libm .editorconfig to root 2025-04-19 20:42:40 -04:00
.git-blame-ignore-revs Update .git-blame-ignore-revs after the libm merge 2025-04-19 20:18:22 +00:00
.gitignore Combine the libm .gitignore 2025-04-19 20:42:40 -04:00
.gitmodules libm: Fix crate compilation 2025-04-19 18:23:45 -04:00
.release-plz.toml release-plz: Include the libm changelog in compiler-builtins 2025-05-06 19:37:58 -04:00
.rustfmt.toml Add a .rustfmt.toml with style edition 2024 2025-04-19 19:05:49 -04:00
Cargo.toml fix: Switch to resolver v2 2025-04-22 04:00:49 -04:00
CONTRIBUTING.md Update README and CONTRIBUTING for the new repository layout 2025-04-21 06:16:12 -04:00
LICENSE.txt Update licensing information after repository refactoring 2025-04-21 06:16:12 -04:00
PUBLISHING.md Update publishing instructions 2019-11-11 10:40:09 -08:00
README.md Update README and CONTRIBUTING for the new repository layout 2025-04-21 06:16:12 -04:00
thumbv6m-linux-eabi.json Update target specs 2017-10-03 02:28:49 -07:00
thumbv7em-linux-eabi.json Update target specs 2017-10-03 02:28:49 -07:00
thumbv7em-linux-eabihf.json Update target specs 2017-10-03 02:28:49 -07:00
thumbv7m-linux-eabi.json Update target specs 2017-10-03 02:28:49 -07:00

compiler-builtins and libm

This repository contains two main crates:

  • compiler-builtins: symbols that the compiler expects to be available at link time
  • libm: a Rust implementation of C math libraries, used to provide implementations in ocre.

More details are at compiler-builtins/README.md and libm/README.md.

For instructions on contributing, see CONTRIBUTING.md.

License

  • libm may be used under the MIT License
  • compiler-builtins may be used under the MIT License and the Apache License, Version 2.0 with the LLVM exception.
  • All original contributions must be under all of: the MIT license, the Apache-2.0 license, and the Apache-2.0 license with the LLVM exception.

More details are in LICENSE.txt and libm/LICENSE.txt.