Andrew Kelley
399f4fe7d6
Merge pull request #20719 from alexrp/misc-porting
...
`std.os.linux`: A handful of random porting fixes, mostly for `armeb` and `thumbeb`
2024-07-23 20:04:26 -07:00
Jakub Konka
7aaebd1774
Merge pull request #20751 from Rexicon226/riscv-eflags
...
elf: add riscv eflag collisions
2024-07-23 22:29:57 +02:00
Frank Denis
2e8acdf6fa
Fix compilation issues in crypto.bccrypt and poly1305 ( #20756 )
2024-07-23 19:45:24 +00:00
Alex Rønne Petersen
be1e1fa180
std.Build.Step.Run: Fix invocation syntax for Wasmtime 14+.
...
https://github.com/bytecodealliance/wasmtime/issues/7384
2024-07-23 12:39:40 -07:00
Alex Rønne Petersen
2d4fc1bb7a
std.os.linux.tls: Fix setThreadPointer() for armeb and thumbeb.
2024-07-23 21:17:29 +02:00
Alex Rønne Petersen
0473457b68
std.os.linux.tls: Set some constants correctly for powerpcle.
2024-07-23 21:14:19 +02:00
Alex Rønne Petersen
c631110f5c
std.os.linux.tls: Set tls_tcb_size correctly for thumbeb.
2024-07-23 21:14:19 +02:00
Alex Rønne Petersen
d694ddd279
std.os.linux.tls: Set tls_variant correctly for thumbeb.
2024-07-23 21:14:19 +02:00
Alex Rønne Petersen
d2d325a862
std.os.linux.AUDIT: Fix s390x; add loongarch64 and xtensa.
2024-07-23 21:14:19 +02:00
Alex Rønne Petersen
93311d6bca
std.os.linux: Also define O for armeb and thumbeb.
2024-07-23 21:14:19 +02:00
Alex Rønne Petersen
92bc802033
std.os.linux: Also define MAP for armeb and thumbeb.
2024-07-23 21:14:19 +02:00
Alex Rønne Petersen
fcbb192b49
std.os.linux: Define (MIN)SIGSTKSZ for all supported Linux architectures.
2024-07-23 21:14:19 +02:00
Alex Rønne Petersen
b21de4de5e
std.os.linux: Define syscalls for armeb and thumbeb too.
2024-07-23 21:14:19 +02:00
Alex Rønne Petersen
b3e82b899f
std.os.linux: Import arch bits for armeb and thumbeb too.
2024-07-23 21:14:19 +02:00
Andrew Kelley
718f8d5314
Merge pull request #20706 from alexrp/sigaction-nosys
...
`std.posix`: Make `sigaction()` infallible
2024-07-23 11:49:43 -07:00
Pat Tullmann
e8503ecb65
Default std.posix.system.ucontext_t is void
...
PR https://github.com/ziglang/zig/pull/20679 ("std.c reorganization")
switched feature-detection code to use "T != void" checks in place of
"@hasDecl". However, the std.posix.system struct is empty, so
compile-time feature detection against symbols in there (specifically
`std.posix.system.ucontext_t` in this case), fail at compile time on
freestanding targets.
This PR adds a void ucontext_t into the std.posix.system default.
This PR also adds pseudo-"freestanding" variation of the StackIterator
"unwind" test. It is sort of hacky (its freestanding, but assumes it can
invoke a Linux exit syscall), but it does detect this problem.
Fixes #20710
2024-07-23 11:47:29 -07:00
Andrew Kelley
33c7984183
add std.testing.random_seed
...
closes #17609
2024-07-23 11:43:12 -07:00
Andrew Kelley
6f3e9939d0
Merge pull request #20725 from ziglang/fuzz
...
initial support for integrated fuzzing
2024-07-23 11:39:19 -07:00
Jakub Konka
255547d7a6
Merge pull request #20731 from ziglang/parallel-macho-2
...
The tale of parallel MachO: part 2
2024-07-23 19:14:38 +02:00
Ryan Liptak
ac2459327f
autodoc: Preserve whitespace in inline code spans
...
Fixes #20754
2024-07-23 10:02:54 -07:00
Jakub Konka
f1af53f68e
macho: use pread syscall when loading tapi file
...
This avoids mixing preads with reads which do not mix well especially
on Windows.
2024-07-23 10:33:02 +02:00
Andrew Kelley
8a8a7ba35b
Merge pull request #20733 from alexrp/start-porting
...
`start`: Add startup code for loongarch64, m68k, and s390x
2024-07-22 18:25:24 -07:00
Veikka Tuominen
05a8c4796f
Merge pull request #18962 from fifty-six/master
...
std.builtin.panic(uefi): usability improvements
2024-07-23 04:06:30 +03:00
David Rubin
782a9d16c7
elf: add riscv eflag collisions
2024-07-22 18:01:26 -07:00
Frank Denis
d2c9a51d1e
Fix function definition: ChaCha20With64BitNonce counter is u64 ( #20734 )
...
Fixes #20732
2024-07-22 23:04:32 +00:00
Andrew Kelley
61ad1be6bd
fix macho linker integration with libfuzzer
2024-07-22 14:26:17 -07:00
Andrew Kelley
1cb994899d
Compilation: fix regression in addCCArgs
...
`-fno-sanitize=function` must come after `-fsanitize=undefined` or it
has no effect.
2024-07-22 14:26:17 -07:00
Andrew Kelley
ae09f9bbce
std.mem: delete workaround now that zig1.wasm is updated
2024-07-22 14:26:17 -07:00
Andrew Kelley
af7b6713d9
update zig1.wasm
2024-07-22 14:26:17 -07:00
Andrew Kelley
dbbe2f1094
libfuzzer: log all the libcalls to stderr
2024-07-22 14:26:17 -07:00
Andrew Kelley
105b91d30f
ZigLLVMTargetMachineEmitToFile: make sancov enable the options
2024-07-22 14:26:17 -07:00
Andrew Kelley
bde8c4a46a
update start code to use @disableInstrumentation
...
This prevents it from trying to access thread local storage before it
has set up thread local storage, particularly when code coverage
instrumentation is enabled.
2024-07-22 14:26:17 -07:00
Andrew Kelley
25198810c8
add new builtin: @disableInstrumentation
...
This is needed to ensure that start code does not try to access thread
local storage before it has set up thread local storage.
2024-07-22 13:07:02 -07:00
Andrew Kelley
7930efc60b
libfuzzer: implement enough symbols for hello world
2024-07-22 13:07:02 -07:00
Andrew Kelley
b9225aea78
add libfuzzer to linking
2024-07-22 13:07:02 -07:00
Andrew Kelley
7802cf9814
avoid depending on a zig1.wasm update
2024-07-22 13:07:02 -07:00
Andrew Kelley
1741b821c3
add the build system API for enabling fuzzing
2024-07-22 13:07:02 -07:00
Andrew Kelley
54b7e144b1
initial support for integrated fuzzing
...
* Add the `-ffuzz` and `-fno-fuzz` CLI arguments.
* Detect fuzz testing flags from zig cc.
* Set the correct clang flags when fuzz testing is requested. It can be
combined with TSAN and UBSAN.
* Compilation: build fuzzer library when needed which is currently an
empty zig file.
* Add optforfuzzing to every function in the llvm backend for modules
that have requested fuzzing.
* In ZigLLVMTargetMachineEmitToFile, add the optimization passes for
sanitizer coverage.
* std.mem.eql uses a naive implementation optimized for fuzzing when
builtin.fuzz is true.
Tracked by #20702
2024-07-22 13:07:02 -07:00
Andrew Kelley
eac7fd4da5
Merge pull request #20556 from McSinyx/setpgid
...
Allow setting PGID in std.process.Child.spawn
2024-07-22 11:17:18 -07:00
Jakub Konka
7c37c55161
macho: fix 32bit compilation issues
2024-07-22 17:32:43 +02:00
Yusuf Bham
22d964fe22
std.builtin.panic(uefi): stack allocate panic message
...
In the case that the allocator is unavailable (OOM, etc.), we can
possibly still output the panic message - so now we stack allocate the
message and copy it to the exit data for passing to boot services.
2024-07-22 16:23:10 +03:00
Yusuf Bham
c16aeda8a6
std.builtin.panic(uefi): also output to con_out
2024-07-22 16:23:10 +03:00
David Rubin
fcff82feb2
dev: add riscv64-linux support
2024-07-22 05:50:48 -07:00
Alex Rønne Petersen
8ffc41f747
start: Add POSIX s390x startup code.
2024-07-22 14:39:55 +02:00
Alex Rønne Petersen
c53673276b
start: Add POSIX loongarch64 startup code.
2024-07-22 14:39:55 +02:00
Alex Rønne Petersen
1fa5ca24fe
start: Add POSIX m68k startup code.
2024-07-22 14:39:55 +02:00
Alex Rønne Petersen
142209444a
start: Pass _start() into its own inline asm as an operand.
2024-07-22 14:39:53 +02:00
Jakub Konka
8541119e9b
macho: handle empty string in ZigObject.getString
2024-07-22 13:35:55 +02:00
Jakub Konka
96fa29b90f
macho: write sections in parallel in -r mode
2024-07-22 12:06:02 +02:00
Jakub Konka
7e5a2673ac
macho: calc section sizes in parallel in -r mode
2024-07-22 12:06:02 +02:00