Commit Graph
34717 Commits
Author SHA1 Message Date
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ßnerandFelix xq 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
Alex Rønne Petersen 6dd19961b3 std.atomic: Provide a more accurate cache_line value for hexagon v73+. 2024-10-03 09:12:35 +02:00
Alex Rønne Petersen c560e26fb7 std.os.linux: Rename some arch bits files to match std.Target.Cpu.Arch tags. 2024-10-03 09:12:35 +02:00
Alex Rønne Petersen 07c943598d std.debug: Disable stack traces on s390x. 2024-10-03 06:19:23 +02:00