| Age | Commit message (Collapse) | Author |
|
|
|
https://github.com/ziglang/zig/issues/25956
|
|
- Affects the following functions:
+ `std.fs.Dir.readLinkW`
+ `std.os.windows.ReadLink`
+ `std.os.windows.ntToWin32Namespace`
+ `std.posix.readlinkW`
+ `std.posix.readlinkatW`
Each of these functions (except `ntToWin32Namespace`) took WTF-16 as input and would output WTF-8, which makes optimal buffer re-use difficult at callsites and could force unnecessary WTF-16 <-> WTF-8 conversion during an intermediate step.
The functions have been updated to output WTF-16, and also allow for the path and the output to re-use the same buffer (i.e. in-place modification), which can reduce the stack usage at callsites. For example, all of `std.fs.Dir.readLink`/`readLinkZ`/`std.posix.readlink`/`readlinkZ`/`readlinkat`/`readlinkatZ` have had their stack usage reduced by one PathSpace struct (64 KiB) when targeting Windows.
The new `ntToWin32Namespace` takes an output buffer and returns a slice from that instead of returning a PathSpace, which is necessary to make the above possible.
|
|
The reasoning in the comment deleted by this commit no longer applies, since that same benefit can be obtained by using OpenFile with `.filter = .any`.
Also removes a stray debug.print
|
|
Not yet fully compatible with the new linker, but still progress.
Closes #25786
|
|
#1840
kernel32.AddVectoredExceptionHandler -> ntdll.RtlAddVectoredExceptionHandler
kernel32.RemoveVectoredExceptionHandler -> ntdll.RtlRemoveVectoredExceptionHandler
kernel32.ExitProcess -> ntdll.RtlExitUserProcess
kernel32.InitializeCriticalSection -> ntdll.RtlInitializeCriticalSection
kernel32.EnterCriticalSection -> ntdll.RtlEnterCriticalSection
kernel32.LeaveCriticalSection -> ntdll.RtlLeaveCriticalSection
kernel32.DeleteCriticalSection -> ntdll.RtlDeleteCriticalSection
kernel32.TryAcquireSRWLockExclusive -> ntdll.RtlTryAcquireSRWLockExclusive
kernel32.AcquireSRWLockExclusive -> ntdll.RtlAcquireSRWLockExclusive
kernel32.ReleaseSRWLockExclusive -> ntdll.RtlReleaseSRWLockExclusive
kernel32.WakeConditionVariable -> ntdll.RtlWakeConditionVariable
kernel32.WakeAllConditionVariable -> ntdll.RtlWakeAllConditionVariable
kernel32.HeapReAlloc -> ntdll.RtlReAllocateHeap
kernel32.HeapAlloc -> ntdll.RtlAllocateHeap
|
|
rename Cancelled to Canceled
|
|
std: Introduce `Io` Interface
|
|
sigreturn and rt_sigreturn are distinct syscalls on PowerPC.
|
|
tracked by https://github.com/ziglang/zig/issues/25734
|
|
|
|
After handling any signal on x86, it would previously segfault.
|
|
There was a missing parameter.
|
|
fixes start logic for checking whether IO/POLL exist
|
|
missing a call to wToPrefixedFileW
|
|
it disagrees with posix msghdr
|
|
Microsoft documentation says "The if_nametoindex function is implemented
for portability of applications with Unix environments, but the
ConvertInterface functions are preferred."
This was also the only dependency on iphlpapi.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- ILSEQ -> error.BadPathName
- implement dirStatPath for WASI
|
|
|
|
|
|
|
|
got the build runner compiling
|
|
glibc and linux kernel use size_t for some field lengths while POSIX and
musl use int. This bug would have caused breakage the first time someone
tried to call sendmsg on a 64-bit big endian system when linking musl
libc.
my opinion:
* msghdr.iovlen: kernel and glibc have it right. This field should
definitely be size_t. With int, the padding bytes are wasted for no
reason.
* msghdr.controllen: POSIX and musl have it right. 4 bytes is plenty for
the length, and it saves 4 bytes next to flags.
* cmsghdr.len: POSIX and musl have it right. 4 bytes is plenty for the
length, and it saves 4 bytes since the other fields are also 32-bits
each.
|
|
|
|
The one about INT_MAX is self-evident from the type system.
The one about kernel having bad types doesn't seem accurate as I checked
the source code and it uses size_t for all the appropriate types,
matching the libc struct definition for msghdr and msghdr_const.
|
|
This "fix" is too opinionated to belong here. Better instead to
document the pitfalls.
|
|
|
|
Turns out Linux on PA-RISC does system calls in a pretty fascinating way; see
arch/parisc/kernel/syscall.S for details.
|
|
|
|
Implemented according to glibc because I'm pretty sure musl gets it wrong.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
`std`: some miscellaneous inline asm fixes for mips, mips64, mipsn32, and x32
|
|
windows: Always try using POSIX_SEMANTICS/etc for rename/delete
|
|
I'm not sure why this was here, but this is only a thing on O32, not N32/N64.
|
|
ref https://github.com/ziglang/zig/issues/22189
|
|
ref https://github.com/ziglang/zig/issues/22189
|