Commit Graph

31038 Commits

Author SHA1 Message Date
Maciej 'vesim' Kuliński
fb0028a0d7 mips: fix C ABI compatibility 2024-09-07 23:46:30 -07:00
Andrew Kelley
fb81522e0b
Merge pull request #21327 from alexrp/reenable-tests
`test`: Re-enable `vector shift operators` and `vector reduce operation`
2024-09-07 13:17:25 -07:00
Alex Rønne Petersen
af04404b49 std: Fix assembler comment syntax for sparc. 2024-09-07 13:16:22 -07:00
pfg
c97db8e497
Support stringifying non-exhaustive enum to json (#21228) 2024-09-07 11:06:41 -04:00
Alex Rønne Petersen
ccf852c31e
test: Re-enable vector reduce operation for most LLVM targets.
mips64 failure is tracked in #21091.

Closes #7138.
2024-09-07 02:47:57 +02:00
Alex Rønne Petersen
5c128a8990
test: Re-enable vector shift operators for all LLVM targets.
Closes #4951.
2024-09-07 02:47:57 +02:00
Andrew Kelley
5f3d9e0b7a
Merge pull request #21261 from alexrp/riscv32
More `riscv32-linux` port work
2024-09-06 17:43:10 -07: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
Alex Rønne Petersen
ae10adb6ef
llvm: Don't lower to f16 for riscv32.
This causes so many test failures that I doubt this has been tested at all.
2024-09-06 20:03:15 +02:00
Alex Rønne Petersen
a0205fff98
std.DynLib: Prefer std.fs.File.stat() over posix.fstat().
This is necessary for riscv32-linux.
2024-09-06 20:03:15 +02:00
Alex Rønne Petersen
65a6e9eee5
std.posix: Skip a couple of tests that use fstat()/fstatat() on riscv32. 2024-09-06 20:03:15 +02:00
Alex Rønne Petersen
f35015575e
std.time: Use clock_nanosleep() to implement sleep() on Linux.
This fixes the function for riscv32 where the old nanosleep() is not available.
clock_nanosleep() has been available since Linux 2.6 and glibc 2.1 anyway.
2024-09-06 20:03:12 +02:00
Alex Rønne Petersen
8043197995
std.os.linux: Add clock_nanosleep() syscall wrapper. 2024-09-06 20:03:00 +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