Alex Rønne Petersen
f1645772c1
compiler_rt: Export __truncdfhf2() for AEABI too.
...
Similar to __truncsfhf2() and __extendhfsf2().
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
75983c692f
test: Switch all arm-linux-*
triples for module tests from v8a to v7a.
...
Broadly speaking, versions 6, 7, and 8 are the ones that are in common use. Of
these, v7 is what you'll typically see for 32-bit Arm today. So let's actually
make sure that that's what we're testing.
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
a872b61021
test: Add arm, mips, and powerpc soft float targets to module tests.
...
Prefer `eabi` and `eabihf` over the ambiguous `none` when not using libc.
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
26119bd98d
test: Skip some floating point tests that fail on arm-linux-(gnu,musl)eabi
.
...
https://github.com/ziglang/zig/issues/21234
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
5285f41267
test: Disable store vector with memset
on soft float arm.
...
https://github.com/ziglang/zig/issues/16177
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
4fcd3e00fa
musl: Build with -ffp-contract=off.
...
https://www.openwall.com/lists/musl/2024/08/28/1
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
65d36be4a8
std.zig.system: Work around llvm/llvm-project#105978 by disabling vfp2.
...
https://github.com/llvm/llvm-project/issues/105978
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
f9455511fa
Compilation: Work around llvm/llvm-project#105972 by defining the macros.
...
https://github.com/llvm/llvm-project/issues/105972
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
77c8f4b671
Compilation: Pass hard/soft float flags to Clang as appropriate.
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
70c92331c7
llvm: Limit f16/f128 lowering on arm to fp_armv8 and soft float.
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
6836799935
llvm: Set use-soft-float and noimplicitfloat on functions for soft float.
...
Closes #10961 .
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
92517fbd62
llvm: Set float ABI based on std.Target.floatAbi().
2024-09-06 20:11:47 +02:00
Alex Rønne Petersen
af370a69cd
std.Target: Make Abi.floatAbi() more accurate.
...
Also rename Target.getFloatAbi() to floatAbi().
2024-09-06 20:11:47 +02:00
Alex Rønne Petersen
17f54e8274
std.zig.target: Split powerpc-linux-musl
triple into powerpc-linux-musleabi(hf)
.
2024-09-06 20:11:47 +02:00
Alex Rønne Petersen
c1a70acc91
std.zig.target: Split mips(el)-linux-musl
triples into mips(el)-linux-musleabi(hf)
.
...
Closes #21184 .
2024-09-06 20:11:47 +02:00
Andrew Kelley
f29bdd6746
Merge pull request #21263 from alexrp/thumb-fixes
...
Some fixes for `thumb-linux-*` support
2024-09-06 10:55:45 -07:00
Andrew Kelley
96fcc8d63b
Merge pull request #21195 from alexrp/glibc-fixes
...
`glibc`: Some bug fixes, plus arc and csky start files
2024-09-06 10:50:56 -07:00
Andrew Kelley
1511a4171f
Merge pull request #21310 from alexrp/ppc64-tests
...
Force ELFv2 for PPC64 and add `powerpc64-linux-(none,musl)` to CI
2024-09-06 10:48:21 -07:00
Alex Rønne Petersen
b230e4f598
glibc: Patch to work around missing features in LLVM's s390x assembler.
...
Revert this with LLVM 20.
2024-09-06 10:39:30 -07:00
Travis Staloch
204107c499
package-manager: add application/x-tar-gz mime type
...
Closes #21314
This allows the package manger to download tar.gz bitbucket urls.
2024-09-06 10:37:29 -07:00
Ian Johnson
3543f28320
std.math.big.int: fix shiftRight sign handling
...
Closes #21311
The sign of the result `r` needs to be initialized before the correction
`r.addScalar(r.toConst(), -1)`, or the intended end result could be off
by 2 (depending on the original sign of `r`).
2024-09-06 10:36:12 -07:00
Alex Rønne Petersen
27c72c555a
glibc: Fix an edge case leading to duplicate stub symbols.
...
Closes #20376 .
Closes #21076 .
2024-09-05 06:16:26 +02:00
Alex Rønne Petersen
1773a88ab1
glibc: Set asm and include paths for csky.
2024-09-05 06:16:26 +02:00
Alex Rønne Petersen
4b4fce3e89
glibc: Set asm and include paths for arc.
2024-09-05 06:16:26 +02:00
Alex Rønne Petersen
747460025e
glibc: Add csky start files.
2024-09-05 06:16:26 +02:00
Alex Rønne Petersen
06945d5eb7
glibc: Add arc start files.
2024-09-05 06:16:26 +02:00
Alex Rønne Petersen
9eb66ab3fb
glibc: Set asm and include paths for m68k.
2024-09-05 06:16:26 +02:00
Alex Rønne Petersen
0bbfa199e9
glibc: Add include path for gnux32.
2024-09-05 06:16:26 +02:00
Alex Rønne Petersen
e492e7232f
glibc: Set asm and include paths for s390x.
2024-09-05 06:16:25 +02:00
Alex Rønne Petersen
c852992c7e
glibc: Also pass -Wno-unsupported-floating-point-opt
when building libc_nonshared.a.
...
Apparently 3fb6e46f6e
wasn't enough.
2024-09-05 06:16:25 +02:00
Andrew Kelley
3929cac154
Merge pull request #21257 from mlugg/computed-goto-3
...
compiler: implement labeled switch/continue
2024-09-04 18:31:28 -07:00
Alex Rønne Petersen
ee3efe8007
test: Add powerpc64-linux-(none,musl)
triples to module tests.
2024-09-05 01:15:33 +02:00
Alex Rønne Petersen
40ee682517
test: Disable store vector with memset
on powerpc64.
...
This will be re-enabled with LLVM 19.
2024-09-05 01:15:33 +02:00
Alex Rønne Petersen
2a6eecff3e
test: Disable reinterpret packed union
for powerpc64 too.
...
https://github.com/ziglang/zig/issues/21050
2024-09-05 01:15:33 +02:00
Alex Rønne Petersen
19895834b9
compiler: Force ELFv2 for powerpc64.
...
LLD does not support ELFv1. By forcing ELFv2, we can at least build working
binaries for triples like `powerpc64-linux-none`.
2024-09-05 01:15:33 +02:00
Jakub Konka
7e31804870
Merge pull request #21305 from ziglang/elf-incr
...
elf: redo how we allocate atoms extracted from input relocatable object files
2024-09-04 21:56:45 +02:00
Jakub Konka
e1d5bb365b
elf: fix 32bit build
2024-09-04 15:55:38 +02:00
Jakub Konka
516955dbdb
elf: add AtomList.zig to CMakeLists.txt
2024-09-04 13:45:16 +02:00
Jakub Konka
b6caab63cb
elf: actually commit AtomList.zig
2024-09-04 13:44:06 +02:00
Jakub Konka
f3d527c082
elf: migrate thunks to the new mechanism (AtomList)
2024-09-04 13:34:26 +02:00
Jakub Konka
d302a1068e
elf: rename SectionChunk into AtomList and store as part of Section
2024-09-04 13:34:26 +02:00
Jakub Konka
64ad6eff16
elf: create back/forward links for atoms within section chunks
2024-09-04 13:34:26 +02:00
Jakub Konka
6ec8b15918
elf: fix emitting static lib when ZigObject is present
2024-09-04 13:34:26 +02:00
Jakub Konka
8c76a61ef5
test/link/elf: test --gc-sections on Zig input with LLVM too
2024-09-04 13:34:26 +02:00
Jakub Konka
801f038c2c
elf: do not pad placeholders coming from input object files
...
This is currently not entirely accurate since no padding will affect
the last-most atom of ZigObject that should be padded.
2024-09-04 13:34:26 +02:00
Jakub Konka
eeec50d251
elf: misc .eh_frame management fixes
2024-09-04 13:34:26 +02:00
Jakub Konka
fca92fd7c0
elf: copy existing data when allocating other alloc sections in relocatable mode
2024-09-04 13:34:26 +02:00
Jakub Konka
5cdad186fe
elf: do not create .eh_frame section if ZigObject already did so in relocatable mode
2024-09-04 13:34:26 +02:00
Jakub Konka
88e0d49feb
elf: init rela sections in a separate pass for ZigObject
2024-09-04 13:34:26 +02:00
Jakub Konka
2ef3e30e2d
elf: emit relocs for self-hosted generated .eh_frame section
2024-09-04 13:34:26 +02:00