mlugg
ada60616b3
incr-check: minor fixes
...
* fix inconsistency in global cache directory name
* don't error if spawning external executor fails
* handle CRLF correctly
2024-10-05 20:52:26 +01:00
mlugg
14ccbbef9f
test: add x86_64-windows-cbe target to incremental cases
...
Throw another target in there just to spice things up a little!
Running the incremental cases with the C backend is pretty slow due to
the need to recompile the whole output from scratch on every update; for
this reason, we probably don't want to keep many of these targeting CBE
long-term. However, for now, while we have relatively few tests and
things are still changing quite a lot, it's better to have this little
bit of extra test coverage.
2024-10-05 20:52:26 +01:00
mlugg
dfc0a27090
incr-check: clean up temporary directory by default
...
The new `--preserve-tmp` flag can be used to preserve the temporary
directory for debugging purposes.
2024-10-05 20:52:26 +01:00
mlugg
5ce962eb69
incr-check: better progress output, support external executors
...
If no external executor is available for a successful binary, its
execution is silently skipped. This allows the CI to test, to the
fullest extent possible, incremental cross-compilation to targets whose
binaries can't be executed on the host.
2024-10-05 20:52:25 +01:00
mlugg
f60c045cef
tests: add test-incremental step
...
This is contained in the `test` step, so is tested by CI.
This commit also includes some enhancements to the `incr-check` tool to
make this work correctly.
2024-10-05 20:52:25 +01:00
Michael Dusan
665d0157d5
std ppc64: add nop to start inline-asm
...
fixes ld.lld error: call to save_start.posixCallMainAndExit lacks nop, can't restore toc
2024-10-05 10:27:13 -04:00
Michael Dusan
f7da960a33
stage1 ppc64: remove inline-asm overlapping clobbers
...
Required when bootstrapping with GCC.
2024-10-05 10:26:47 -04:00
achan1989
0d85284e4d
Create/open file on WASI targets should have POLL_FD_READWRITE rights
2024-10-05 15:23:00 +02:00
Alex Rønne Petersen
25ee7b0ea8
compiler: Don't require PIC for aarch64-linux-ohos.
...
While Clang defaults to PIC for this target, it's not actually required.
2024-10-05 15:19:14 +02:00
Alex Rønne Petersen
09efa95f48
compiler: Don't link to nonexistent libc libraries for ohos.
2024-10-05 15:14:16 +02:00
Alex Rønne Petersen
84e192c88b
std.Target: Introduce Abi.ohoseabi to distinguish the soft float case.
...
For the same reason as #21504 .
2024-10-05 15:13:37 +02:00
Alex Rønne Petersen
9a5b0a6762
std.Target: Rewrite DynamicLinker.standard() and fill in some missing details.
2024-10-05 13:53:24 +02:00
Alex Rønne Petersen
d23db9427b
Merge pull request #21574 from alexrp/llvm-sub-arch
...
`llvm`: Implement sub-architecture translation in `targetTriple()`.
2024-10-05 13:49:05 +02:00
Jonathan Marler
73de620ad5
std.os.windows.ReadFile: handle ERROR_LOCK_VIOLATION
...
fixes #21500
2024-10-05 00:36:49 -07:00
Alex Rønne Petersen
e6fd01a949
Merge pull request #21595 from alexrp/objcopy-seg-paddr
...
`objcopy`: Use `p_paddr` from `PT_LOAD` even if zero.
2024-10-05 05:21:48 +02:00
Andrew Kelley
cfd3bcffec
Merge pull request #21591 from patrickwick/issue-19009
...
zig objcopy: support --add-section
2024-10-04 19:45:39 -07:00
Alex Rønne Petersen
98b85f72a6
Merge pull request #21593 from alexrp/dlopen-null
...
`std.c`: Make `dlopen()` accept null for the `path` parameter.
2024-10-05 04:05:24 +02:00
David Rubin
043b1adb8d
remove @fence ( #21585 )
...
closes #11650
2024-10-04 22:21:27 +00:00
Andrew Kelley
163d505e27
std.Target: add missing propeller switch prongs
...
Seems to have been an invisible merge conflict.
2024-10-04 15:03:46 -07:00
Andrew Kelley
9fca80941c
Merge pull request #21532 from marler8997/putDependencyCacheInGraph
...
Put dependency cache in graph
2024-10-04 14:00:15 -07:00
Felix Queißner
7c74edec8d
Adds new cpu architectures propeller1 and propeller2. ( #21563 )
...
* Adds new cpu architectures propeller1 and propeller2.
These cpu architectures allow targeting the Parallax Propeller 1 and Propeller 2, which are both very special microcontrollers with 512 registers and 8 cpu cores.
Resolves #21559
* Adds std.elf.EM.PROPELLER and std.elf.EM.PROPELLER2
* Fixes missing switch prongs in src/codegen/llvm.zig
* Fixes order in std.Target.Arch
---------
Co-authored-by: Felix "xq" Queißner <git@random-projects.net>
2024-10-04 13:53:28 -07:00
PauloCampana
3e62cb5c90
Remove old deprecated symbols in std ( #21584 )
...
Also, actually run tests inside std/tar/writer.zig
2024-10-04 13:50:25 -07:00
Alex Rønne Petersen
64b6a4ff77
objcopy: Use p_paddr from PT_LOAD even if zero.
...
Fix suggested by @cclin0816.
Closes #20019 .
2024-10-04 22:44:49 +02:00
Alex Rønne Petersen
31d685f86f
std.c: Make dlopen() accept null for the path parameter.
...
Closes #21592 .
2024-10-04 20:10:07 +02:00
Alex Rønne Petersen
eb363bf845
Merge pull request #21572 from alexrp/tests-llvm-targets
...
`test`: Rewrite the target triple list for `llvm_targets`.
2024-10-04 19:37:12 +02:00
Patrick Wickenhaeuser
c3f1ff8b0d
19009: zig objcopy: minor cleanup
2024-10-04 15:49:50 +02:00
Patrick Wickenhaeuser
19a0864e4f
19009: zig objcopy: allow --add-section, --set-section-alignment and --set-section-flags only if the target is an ELF file
2024-10-04 15:49:50 +02:00
Patrick Wickenhaeuser
182c12de69
19009: zig objcopy: fix typo in abort messages
2024-10-04 15:49:50 +02:00
Patrick Wickenhaeuser
e1d54b6d1a
19009: zig objcopy: integrate --add-section, --set-section-alignment and --set-section-flags into std.Build.Step.ObjCopy
2024-10-04 15:49:50 +02:00
Patrick Wickenhaeuser
8f55efc1af
19009: zig objcopy: integrate section flags for --set-section-flags command
2024-10-04 15:49:50 +02:00
Patrick Wickenhaeuser
8cd7a9e5fc
19009: zig objcopy: parse section flags
2024-10-04 15:49:50 +02:00
Patrick Wickenhaeuser
caa699fc68
19009: zig objcopy: implement --set-section-alignment
2024-10-04 15:49:50 +02:00
Patrick Wickenhaeuser
f72961ee30
19009: add --set-section-alignment and --set-section-flags arguments to zig objcopy
2024-10-04 15:49:50 +02:00
Patrick Wickenhaeuser
172e7161a4
19009: zig objcopy: add --add-section support
2024-10-04 15:49:50 +02:00
Alex Rønne Petersen
b23a5b56c2
Merge pull request #21578 from alexrp/s390x-porting
...
Get module tests passing for `s390x-linux` and add it to CI
2024-10-04 14:40:32 +02:00
Alex Rønne Petersen
0345775559
Merge pull request #21577 from alexrp/mips32-stat
...
`std.c`: Fix `Stat` struct layout for mips/mipsel with glibc.
2024-10-04 01:30:13 +02:00
Alex Rønne Petersen
6b231b9e3f
Merge pull request #21571 from alexrp/14366-progress
...
Re-enable some tests that were disabled due to #14366
2024-10-04 00:31:26 +02:00
Alex Rønne Petersen
736694b1e6
test: Add s390x-linux-(none,musl,gnu) triples to module tests.
2024-10-04 00:26:55 +02:00
Alex Rønne Petersen
7f55fa12f4
std.posix: Skip Stat struct comparison in fstatat test for s390x-linux.
...
On s390x-linux, fstat() does not have nanosecond precision, but fstatat() does.
As a result, comparing Stat structs returned from these syscalls is doomed to
fail.
2024-10-04 00:26:55 +02:00
Alex Rønne Petersen
f4c23726a3
std.c: Fix Sigaction struct for s390x-linux-gnu.
2024-10-04 00:26:55 +02:00
Alex Rønne Petersen
cd6795fc06
std.os.linux: Fix mmap() syscall invocation for s390x.
...
The s390x mmap() syscall existed before Linux supported syscalls with 5+
parameters, so it takes a single pointer to an array of arguments instead.
2024-10-04 00:26:53 +02:00
Alex Rønne Petersen
9b273f6b9a
Merge pull request #21570 from alexrp/windows-itanium
...
Initial port work for `*-windows-itanium` support.
2024-10-03 21:53:22 +02:00
Saurabh Mishra
267523e136
fix typo in segset_t
2024-10-03 09:37:57 -07:00
Jakub Konka
69ce7f0e08
Merge pull request #21573 from alexrp/elf-header
...
Some additions to `std.elf` addressing #19830 , plus some zld improvements
2024-10-03 15:19:58 +02:00
WillLillis
3bcdca07a3
fix: print correct number of provided arguments in min/max error message
2024-10-03 12:28:44 +03:00
Alex Rønne Petersen
45644b7e15
link.Elf: Fix default page size for hexagon.
2024-10-03 09:55:45 +02:00
Alex Rønne Petersen
f31173d379
llvm: Disable f16 lowering for hexagon.
...
In theory, this should work for v68+. In practice, it runs into an LLVM
assertion when using a `freeze` instruction on `f16` values, similar to the
issue we had for LoongArch.
2024-10-03 09:53:59 +02:00
Alex Rønne Petersen
56b0c7bd2f
std.zig.system: Force disable the small_data feature for hexagon.
...
This works around the fact that LLVM and LLD both have broken support for the
small data area, yet the feature is on by default for all Hexagon CPUs.
I want to eventually replace this hack with a flag in update_cpu_features.zig
for marking features that should always be off by default and not be accessible
to users. That way, the compiler will have full control over them.
2024-10-03 09:44:58 +02:00
Alex Rønne Petersen
8060fad425
generate_linux_syscalls: Rename mmap_pgoff to mmap2.
2024-10-03 09:12:35 +02:00
Alex Rønne Petersen
fe30df6b8c
std.os.linux: Add hexagon arch bits.
2024-10-03 09:12:35 +02:00