Commit Graph

2049 Commits

Author SHA1 Message Date
Amjad Alsharafi
6cf5c13e87 Do not include math intrinsics for windows and apple targets 2024-04-10 13:40:59 +02:00
Amjad Alsharafi
5416c204a9 Always have math functions but with weak linking attribute if we can
This is a replacement for https://github.com/rust-lang/libm/pull/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.
2024-04-10 13:40:59 +02:00
Ralf Jung
bf0ce314e9 add lib.miri.rs file for miri-test-libstd 2024-04-10 12:59:14 +02:00
Jeremy Drake
f23a83c53c Add __chkstk on i686-pc-windows-gnu.
libLLVMSupport.a(DynamicLibrary.cpp.obj) references ___chkstk, which is
an alias of __alloca in libgcc.  This crate provided __alloca, but
libgcc's implementation was also pulled in by the linker due to the
reference to ___chkstk, causing a multiple definition linker error.
Providing that symbol here prevents that.

Fixes #585
2024-04-07 13:08:27 -07:00
Jeff Thuong
9c0ab26d3b Corrected English typos 2024-04-02 11:35:08 +08:00
Kleis Auke Wolthuizen
f04f8a6a9d Sync x86 chkstk intrinsics with LLVM
Incorporates the following commits:
885d7b759b
1f9eff100c
7a5cba8bea
2024-03-29 19:51:56 +01:00
Daniel Paoliello
30182128c9 Add support for arm64ec 2024-03-28 09:20:13 -07:00
trevyn
dc1321a5ca Remove duplicate symbol workaround 2024-03-28 14:19:13 +00:00
WANG Rui
75624cc8ae Add compiler-rt fallbacks on loongarch64-musl 2024-03-28 14:12:16 +00:00
Ralf Jung
ce85d06f3b add c_unwind feature 2024-03-28 11:33:03 +01:00
Amanieu d'Antras
68b5a7a0ad Clean up and rework CI script 2024-03-28 10:17:42 +00:00
Amjad Alsharafi
d752cbfb0e Remove unneeded extern core in tgamma 2024-02-21 00:59:37 +00:00
Amanieu d'Antras
cdf7ac490c Allow internal_features lint when building with "unstable" 2024-02-21 00:58:14 +00:00
Amanieu d'Antras
079d7d857c Release 0.1.108 2024-02-04 06:40:51 +00:00
Nikita Popov
168bc9ecd7 Also don't build floatdixf and floatundixf 2024-02-02 10:04:55 +01:00
Nikita Popov
2f8b08f9e3 Remove 80-bit builtins entirely
It turns out that these also don't build on x86 + MSVC. Rather
than fixing up the condition, I'm just deleting them entirely.
As far as I know, Rust does not support 80-bit floats and has
no plan to support them, so we shouldn't need them.
2024-01-31 17:37:26 +01:00
Amanieu d'Antras
1cd23fa8b0 Bump to 0.1.107 (#571) 2024-01-31 08:36:00 +00:00
trevyn
f4dbd52ed5 Merge branch 'master' into wasm 2024-01-28 07:20:27 -08:00
Tyler Mandry
45a113effb Handle move of cpu_model.c
This happened in https://github.com/llvm/llvm-project/pull/75635/files
and shows up when building against a recent commit of LLVM.
2024-01-28 11:20:12 +00:00
Amanieu d'Antras
bb30119076 Merge pull request #569 from Kobzol/ci-check-success
CI: add a success conclusion job
2024-01-26 02:37:28 +00:00
BD103
845f4e75d1 fix: replace travis link with github actions link 2024-01-24 13:57:31 -05:00
Jakub Beránek
8ca492c7d7 CI: add a success conclusion job 2024-01-24 19:38:55 +01:00
Nikita Popov
105f0d834d Only add 80-bit long double source on x86
These no longer build on other architectures with LLVM 18. In
previous versions they used an incorrect float layout.
2024-01-22 13:04:44 +01:00
trevyn
d9065480c7 Merge branch 'master' into wasm 2024-01-18 09:36:53 +04:00
Amanieu d'Antras
0dc7f73408 Bump to 0.1.106 2024-01-18 01:27:08 +00:00
Amanieu d'Antras
56f10da22e Merge pull request #563 from alistair23/alistair/riscv-builtins
build: Allow building C compiler-rt fallbacks for RISC-V
2024-01-18 01:25:47 +00:00
trevyn
0808cdeb67 build: Allow building C compiler-rt fallbacks for wasm 2024-01-09 02:11:00 +04:00
Taiki Endo
c464d5a38d Update actions/checkout action to v4 2024-01-09 00:07:27 +09:00
Alistair Francis
e898296fd9 build: Allow building C compiler-rt fallbacks for RISC-V
Now that https://github.com/rust-lang/rust/pull/117654 has been merged
the rust-lang/rust distribution containers contain RISC-V C compilers.

This means that we can now enable the "c" feature fallback.

Resolves: https://github.com/rust-lang/compiler-builtins/issues/350
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
2023-12-20 09:47:37 +10:00
Amanieu d'Antras
72dbe301ff Bump to 0.1.105 2023-12-14 20:23:55 +00:00
Brian Cain
c4a7058a11 Add hexagon support
Signed-off-by: Brian Cain <bcain@quicinc.com>
2023-12-11 12:35:21 -08:00
Amanieu d'Antras
d46758a18f Bump to 0.1.104 2023-11-28 08:02:43 +00:00
Patryk Wychowaniec
c2c4c8e146 fix: Add (even more) #[avr_skip] for floats
Tale as old as the world - there's an ABI mismatch:
https://github.com/rust-lang/compiler-builtins/pull/527

Fortunately, newest GCCs (from v11, it seems) actually provide most of
those intrinsics (even for f64!), so that's pretty cool.

(the only intrinsics not provided by GCC are `__powisf2` & `__powidf2`,
but our codegen for AVR doesn't emit those anyway.)

Fixes https://github.com/rust-lang/rust/issues/118079.
2023-11-26 16:17:00 +01:00
Amanieu d'Antras
52959b5800 Bump to 0.1.103
There was a mistake in publishing the 0.1.102 release.
2023-11-04 00:29:46 +00:00
Amanieu d'Antras
44d0e30db9 Bump to 0.1.102 2023-11-04 00:28:36 +00:00
Mark S. Baranowski
7a32a99352 This updates the exponent calculations done in the nextafter functions related
to detecting underflow/overflow. The functions now match the behavior of the
MUSL implementations these were based on.

Fixes rust-lang/libm#286
2023-10-31 16:03:51 -06:00
Amanieu d'Antras
2a9210b900 Merge pull request #554 from mchodzikiewicz/fix-math-for-riscv32 2023-10-31 22:43:37 +01:00
Michał Chodzikiewicz
8ec53915fe Enable math module for all "none" os targets
This was initially a bugfix that fixed gating math module for riscv32,
but conclusiion is it makes no sense to gate on target architecture.
2023-10-31 20:32:53 +01:00
Amanieu d'Antras
ed04e1e2b0 Merge pull request #552 from elbe0046/fix-aeabi-multi-def 2023-10-31 20:15:42 +01:00
Nicholas Bishop
e8509dd054 Enable src/math for all UEFI targets
This fixes various math operations on aarch64-unknown-uefi and
i686-unknown-uefi.
2023-10-27 20:21:08 +00:00
Grant Elbert
de2da94c49 intrinsics macro: fix non-weak aeabi generation
Signed-off-by: Grant Elbert <grant.elbert@smartthings.com>
2023-10-23 15:54:05 -05:00
Sebastian Imlay
25fa91e1b2 Add tvOS to build script 2023-10-06 17:35:20 -04:00
Amanieu d'Antras
c2a2f92647 Merge pull request rust-lang/libm#285 from Amanieu/release-0.2.8 2023-10-06 10:31:47 +01:00
Amanieu d'Antras
5531828bfc Release 0.2.8 2023-10-06 11:25:38 +02:00
Peter Michael Green
36e334dfb0 Fix rint and rintf on x87. 2023-10-05 17:38:44 +00:00
James Farrell
6595f36317 Generate outlined_atomics.rs in a deterministic order.
Also add a missing newline.
2023-08-28 22:14:18 +00:00
Amanieu d'Antras
5642f6ba4c Bump to 0.1.101 2023-08-12 10:28:45 +02:00
Sean Cross
10df3f61ad build: compile memory intrinsics on xous
Like SGX, Xous does not have any libc to link against. As a result,
memory intrinsics need to be available as part of `compiler_builtins`

Signed-off-by: Sean Cross <sean@xobs.io>
2023-08-12 07:50:26 +03:00
Amanieu d'Antras
14f4e11a86 Bump to 0.1.100 2023-08-07 23:37:59 +01:00
Amanieu d'Antras
6d180d8377 Merge pull request #546 from ankane/lgamma-r-mingw 2023-08-07 23:37:06 +01:00