Andrew Kelley
1f93f61958
std.zig.readSourceFileToEndAlloc: add file size heuristic
2025-07-16 17:20:03 -07:00
Andrew Kelley
73cfba4d0d
std.Io.Writer: fix writeStruct
2025-07-16 17:20:03 -07:00
Andrew Kelley
e7a639967e
std.Io.Reader: fix appendRemaining
...
it calls readVec which is a higher level function than was expected in
the previous implementation
2025-07-16 17:20:03 -07:00
Andrew Kelley
c4776d66af
update compiler
2025-07-16 17:20:02 -07:00
Andrew Kelley
2d5d2ba4f5
std.zig.Render: update it and references
2025-07-16 17:20:02 -07:00
Andrew Kelley
0389b4c7b9
move a file without changing it
2025-07-16 17:20:02 -07:00
Andrew Kelley
6c4a104822
std.zig.Ast: update to new I/O API
2025-07-16 17:20:02 -07:00
Andrew Kelley
1a20b467ea
std.zig: update to new I/O API
2025-07-16 17:20:02 -07:00
Andrew Kelley
680358767e
Merge pull request #24419 from ziglang/asm-clobbers
...
inline assembly: use types for clobbers
2025-07-17 02:14:18 +02:00
Silver
d772c06272
fix splatBytesAll and writeSplatAll
2025-07-16 20:37:38 +02:00
Andrew Kelley
af084e537a
add lr register to mips
2025-07-16 10:27:40 -07:00
Andrew Kelley
8a478b4e9e
fix sparc ccr regs
2025-07-16 10:27:40 -07:00
Andrew Kelley
5aa50bcbff
fix mips clobbers
2025-07-16 10:27:40 -07:00
Andrew Kelley
8a19eeb8af
canonicalize loongarch clobbers
2025-07-16 10:27:40 -07:00
Andrew Kelley
15e5e5b2bc
fix mips inline asm
...
wtf are these dollar signs?
2025-07-16 10:27:40 -07:00
Andrew Kelley
3628137442
add clobbers for more architectures
2025-07-16 10:27:40 -07:00
Andrew Kelley
54f073377c
std.zig.render: handle legacy clobber updating more gracefully
...
"that's really easy to handle correctly" he said
2025-07-16 10:27:39 -07:00
Andrew Kelley
15f45e89a7
remove condition codes
...
LLVM always assumes these are on. Zig backends do not observe them.
If Zig backends want to start using them, they can be introduced, one
arch at a time, with proper documentation.
2025-07-16 10:27:39 -07:00
Andrew Kelley
de9c0e4580
alexrp suggestions
2025-07-16 10:27:39 -07:00
Andrew Kelley
76d04c1662
zig fmt
2025-07-16 10:27:39 -07:00
Andrew Kelley
fcafc63f3d
inline assembly: use types
...
until now these were stringly typed.
it's kinda obvious when you think about it.
2025-07-16 10:23:02 -07:00
Alex Kladov
7d63e777a4
fix memory leak
...
closes #24421
2025-07-16 18:34:34 +02:00
Andrew Kelley
dbe0e0c1bc
Merge pull request #24464 from ziglang/fixes
...
std.Io fixes, docs, and tests
2025-07-16 02:54:45 +02:00
Andrew Kelley
5f6e3245d1
std.os.windows: restore sendmsg, sendto, recvfrom
...
These regressed with 1a998886c863a1829d649f196093f1058cd9cf13
I'm not ready to tackle std.posix quite yet
2025-07-15 14:24:06 -07:00
Andrew Kelley
6d39c29564
std.Io.Writer.Allocating: fix sendFile EndOfStream
2025-07-15 11:43:55 -07:00
Andrew Kelley
c7f332a260
std.Io.Writer.Discarding: fix sendFile EndOfStream
2025-07-15 11:32:40 -07:00
Andrew Kelley
f521aa0520
std.io.Reader: add more docs for rebase
...
closes #24418
2025-07-15 10:04:45 -07:00
Andrew Kelley
0cb558ba3a
better default min versions for freebsd and netbsd
...
Without this change, by default you get a failure when trying to cross
compile for these targets.
freebsd was error: undefined symbol: __libc_start1
netbsd was warning: invalid target NetBSD libc version: 9.4.0
error: unable to build NetBSD libc shared objects: InvalidTargetLibCVersion
now they work by default
2025-07-15 15:32:18 +02:00
Andrew Kelley
a5dbb656b1
Merge pull request #24454 from ziglang/packed-struct-streams
...
std.Io: handle packed structs better
2025-07-15 13:43:08 +02:00
Travis Staloch
294db62d92
memory safety fix for Io.Writer.Allocating.toOwnedSlice*()
...
don't forget to save the list. this allows a
`testing.checkAllAllocationFailures()` test to pass in one of my
projects which newly failed since #24329 was merged.
2025-07-15 08:49:54 +02:00
Andrew Kelley
4f5fa959aa
std.Io.Reader.streamDelimiterEnding docs clarification
2025-07-14 21:01:40 -07:00
Andrew Kelley
deb9f3e88f
std.Io: handle packed structs better
...
Rather than having the endian-suffixed functions be the preferred ones
the unsuffixed ones are the preferred ones and the tricky functions get
a special suffix.
Makes packed structs read and written the same as integers.
closes #12960
2025-07-14 18:43:56 -07:00
Andrew Kelley
34d7cf075e
std.posix: skip flaky test
...
tracked by #24380
2025-07-14 18:38:50 -07:00
Andrew Kelley
e4ebbdb354
std.c: add missing netbsd and freebsd MSG flags
2025-07-14 09:35:38 -07:00
Andrew Kelley
b510482525
std.fs.File.Reader.seekTo: add missing int cast
2025-07-14 00:21:20 -07:00
Andrew Kelley
524e2e19a5
std.Io.Writer.Discarding: fix drain calculation
2025-07-14 00:18:13 -07:00
Andrew Kelley
0c0d94a6da
std.net: wasi does not have unix sockets
2025-07-14 00:16:49 -07:00
Andrew Kelley
36f356254c
align those @fieldParentPtr casts
2025-07-14 00:16:49 -07:00
Andrew Kelley
890f1fa848
make msghdr.iovlen unsigned
...
I don't care what C headers say. This value is never supposed to be
negative.
2025-07-14 00:16:49 -07:00
Andrew Kelley
9a1f4cb011
std.net: update to new I/O API
2025-07-14 00:16:49 -07:00
Andrew Kelley
5496901e71
std.Io.Reader.appendRemaining: add missing assert
2025-07-14 00:14:21 -07:00
Andrew Kelley
093fe02b75
add adaptToNewApi to std.Io.Reader as well
2025-07-14 00:14:21 -07:00
Andrew Kelley
96a4e9b866
std.crypto: fix Sha1 namespace
2025-07-14 00:14:21 -07:00
xdBronch
5a8acc9115
fix some llvm ir printer bugs
2025-07-14 08:31:54 +02:00
Brandon Black
e8a4e47d38
Add setsid to std.(c|posix)
...
The interface and errors for this seem to be very universal and
generic. Note Linux already has this defined as a syscall as well.
2025-07-14 07:26:49 +02:00
Andrew Kelley
e7b18a7ce6
std.crypto: remove inline from most functions
...
To quote the language reference,
It is generally better to let the compiler decide when to inline a
function, except for these scenarios:
* To change how many stack frames are in the call stack, for debugging
purposes.
* To force comptime-ness of the arguments to propagate to the return
value of the function, as in the above example.
* Real world performance measurements demand it. Don't guess!
Note that inline actually restricts what the compiler is allowed to do.
This can harm binary size, compilation speed, and even runtime
performance.
`zig run lib/std/crypto/benchmark.zig -OReleaseFast`
[-before-] vs {+after+}
md5: [-990-] {+998+} MiB/s
sha1: [-1144-] {+1140+} MiB/s
sha256: [-2267-] {+2275+} MiB/s
sha512: [-762-] {+767+} MiB/s
sha3-256: [-680-] {+683+} MiB/s
sha3-512: [-362-] {+363+} MiB/s
shake-128: [-835-] {+839+} MiB/s
shake-256: [-680-] {+681+} MiB/s
turboshake-128: [-1567-] {+1570+} MiB/s
turboshake-256: [-1276-] {+1282+} MiB/s
blake2s: [-778-] {+789+} MiB/s
blake2b: [-1071-] {+1086+} MiB/s
blake3: [-1148-] {+1137+} MiB/s
ghash: [-10044-] {+10033+} MiB/s
polyval: [-9726-] {+10033+} MiB/s
poly1305: [-2486-] {+2703+} MiB/s
hmac-md5: [-991-] {+998+} MiB/s
hmac-sha1: [-1134-] {+1137+} MiB/s
hmac-sha256: [-2265-] {+2288+} MiB/s
hmac-sha512: [-765-] {+764+} MiB/s
siphash-2-4: [-4410-] {+4438+} MiB/s
siphash-1-3: [-7144-] {+7225+} MiB/s
siphash128-2-4: [-4397-] {+4449+} MiB/s
siphash128-1-3: [-7281-] {+7374+} MiB/s
aegis-128x4 mac: [-73385-] {+74523+} MiB/s
aegis-256x4 mac: [-30160-] {+30539+} MiB/s
aegis-128x2 mac: [-66662-] {+67267+} MiB/s
aegis-256x2 mac: [-16812-] {+16806+} MiB/s
aegis-128l mac: [-33876-] {+34055+} MiB/s
aegis-256 mac: [-8993-] {+9087+} MiB/s
aes-cmac: 2036 MiB/s
x25519: [-20670-] {+16844+} exchanges/s
ed25519: [-29763-] {+29576+} signatures/s
ecdsa-p256: [-4762-] {+4900+} signatures/s
ecdsa-p384: [-1465-] {+1500+} signatures/s
ecdsa-secp256k1: [-5643-] {+5769+} signatures/s
ed25519: [-21926-] {+21721+} verifications/s
ed25519: [-51200-] {+50880+} verifications/s (batch)
chacha20Poly1305: [-1189-] {+1109+} MiB/s
xchacha20Poly1305: [-1196-] {+1107+} MiB/s
xchacha8Poly1305: [-1466-] {+1555+} MiB/s
xsalsa20Poly1305: [-660-] {+620+} MiB/s
aegis-128x4: [-76389-] {+78181+} MiB/s
aegis-128x2: [-53946-] {+53495+} MiB/s
aegis-128l: [-27219-] {+25621+} MiB/s
aegis-256x4: [-49351-] {+49542+} MiB/s
aegis-256x2: [-32390-] {+32366+} MiB/s
aegis-256: [-8881-] {+8944+} MiB/s
aes128-gcm: [-6095-] {+6205+} MiB/s
aes256-gcm: [-5306-] {+5427+} MiB/s
aes128-ocb: [-8529-] {+13974+} MiB/s
aes256-ocb: [-7241-] {+9442+} MiB/s
isapa128a: [-204-] {+214+} MiB/s
aes128-single: [-133857882-] {+134170944+} ops/s
aes256-single: [-96306962-] {+96408639+} ops/s
aes128-8: [-1083210101-] {+1073727253+} ops/s
aes256-8: [-762042466-] {+767091778+} ops/s
bcrypt: 0.009 s/ops
scrypt: [-0.018-] {+0.017+} s/ops
argon2: [-0.037-] {+0.060+} s/ops
kyber512d00: [-206057-] {+205779+} encaps/s
kyber768d00: [-156074-] {+150711+} encaps/s
kyber1024d00: [-116626-] {+115469+} encaps/s
kyber512d00: [-181149-] {+182046+} decaps/s
kyber768d00: [-136965-] {+135676+} decaps/s
kyber1024d00: [-101307-] {+100643+} decaps/s
kyber512d00: [-123624-] {+123375+} keygen/s
kyber768d00: [-69465-] {+70828+} keygen/s
kyber1024d00: [-43117-] {+43208+} keygen/s
2025-07-13 18:26:13 +02:00
Marcos Gutiérrez Alonso
f97baca6f6
Add documentation to std.crypto.aes_gcm.AesGcm.encrypt ( #24427 )
2025-07-13 07:33:08 +00:00
mlugg
549a466dd1
std.Io.Reader: encourage inlining hot buffer check
...
Resolves : #24424
2025-07-12 23:52:13 +02:00
Carmen
5b4e982169
std.os.uefi.tables: ziggify boot and runtime services ( #23441 )
...
* std.os.uefi.tables: ziggify boot and runtime services
* avoid T{} syntax
Co-authored-by: linusg <mail@linusgroh.de>
* misc fixes
* work
* self-review quickfixes
* dont make MemoryMapSlice generic
* more review fixes, work
* more work
* more work
* review fixes
* update boot/runtime services references throughout codebase
* self-review fixes
* couple of fixes i forgot to commit earlier
* fixes from integrating in my own project
* fixes from refAllDeclsRecursive
* Apply suggestions from code review
Co-authored-by: truemedian <truemedian@gmail.com>
* more fixes from review
* fixes from project integration
* make natural alignment of Guid align-8
* EventRegistration is a new opaque type
* fix getNextHighMonotonicCount
* fix locateProtocol
* fix exit
* partly revert 7372d65
* oops exit data_len is num of bytes
* fixes from project integration
* MapInfo consistency, MemoryType update per review
* turn EventRegistration back into a pointer
* forgot to finish updating MemoryType methods
* fix IntFittingRange calls
* set uefi.Page nat alignment
* Back out "set uefi.Page nat alignment"
This backs out commit cdd9bd6f7f5fb763f994b8fbe3e1a1c2996a2393.
* get rid of some error.NotFound-s
* fix .exit call in panic
* review comments, add format method
* fix resetSystem data alignment
* oops, didnt do a final refAllDeclsRecursive i guess
* review comments
* writergate update MemoryType.format
* fix rename
---------
Co-authored-by: linusg <mail@linusgroh.de>
Co-authored-by: truemedian <truemedian@gmail.com>
2025-07-12 17:18:53 +00:00
Alex Rønne Petersen
681d324c49
std.Build.Step.Run: Set WINEDEBUG=-all for -fwine by default.
...
This silences the excessive default stderr logging from Wine. The user can still
override this by setting WINEDEBUG in the environment; this just provides a more
sensible default.
Closes #24139 .
2025-07-12 00:03:02 +02:00