Andrew Kelley
032c2ee9bc
std.http.Client: fix UAF when handling redirects
...
closes #19071
2024-02-26 01:01:16 -08:00
John Schmidt
723d13f831
AstGen: fix OoB crash on ast-check -t
...
The `decl_node` was offset from the wrong source node.
2024-02-26 07:01:32 +00:00
Andrew Kelley
9dda2eb1ab
Merge pull request #19080 from jacobly0/llvm-per-mod-strip
...
llvm: implement per-module stripping
2024-02-25 21:44:10 -08:00
Andrew Kelley
91fb211faa
Merge pull request #18906 from jacobly0/x86_64-tests
...
x86_64: pass more tests
2024-02-25 21:43:20 -08:00
Jacob Young
d656c2a7ab
test: rework how filtering works
...
* make test names contain the fully qualified name
* make test filters match the fully qualified name
* allow multiple test filters, where a test is skipped if it does not
match any of the specified filters
2024-02-25 19:12:08 -08:00
Jakub Konka
429e542f3f
macho: count rebases for synthetic __objc_selrefs
2024-02-26 02:22:36 +01:00
Jakub Konka
2901026425
macho: fix section to segment mapping
2024-02-26 02:22:36 +01:00
Jakub Konka
d7276c1527
macho: actually set SG_READ_ONLY on __DATA_CONST segment
2024-02-26 02:22:36 +01:00
Andrew Kelley
aa39e98d90
Merge pull request #19077 from Techatrix/http-header-parse
...
http: check for empty header name instead of value
2024-02-25 15:27:12 -08:00
Jae B
b2374c4d75
fix crash when calling StackIterator.isValidMemory with emscripten
2024-02-25 12:39:05 -08:00
Marc Tiehuis
ff3bf98345
fix large f128 values being incorrectly parsed as inf
...
Found while fuzzing. Previously 1.1897314953572317650857593266280070162E4932
was parsed as +inf, which caused issues for round-trip serialization of
floats. Only f128 had issues, but have added other tests for all
floating point large normals.
The max_exponent for f128 was wrong, it is subtly different in the
decimal code-path as it is based on where the decimal digit should go.
This needs to be 2 greater than the max exponent (e.g. 308 or 4932) to
work correctly (greater by 1, then we use a >= comparision).
In addition, I've removed the redundant `optimize` constant which was only
use for testing the slow path locally.
2024-02-25 12:37:03 -08:00
Andrew Kelley
08e886b8fe
package management: fix regression of printing expected hash
...
Regressed in ed4ccea7bae99c1baa634716941f308d9f922985. The early exit
path was only supposed to happen in case of --system mode.
2024-02-25 09:27:39 -08:00
Jacob Young
ed026b5dff
llvm: free llvm data before running llvm optimizations
...
This reduces the max memory usage.
2024-02-25 17:37:27 +01:00
Jacob Young
1e1598950a
llvm: implement per-module stripping
...
This avoids llvm module verification errors when the strip option
is different across modules.
2024-02-25 17:37:27 +01:00
Jacob Young
661137ac92
Merge pull request #19074 from antlilja/llvm-debug-loc
...
Rework LLVM debug locations to not emit them twice
2024-02-25 17:03:45 +01:00
Andrew Kelley
9d7082972e
std.heap.raw_c_allocator: use malloc_size for resize
...
std.heap.c_allocator was already doing this, however,
std.heap.raw_c_allocator, which asserts no allocations more than 16
bytes aligned, was not.
The zig compiler uses std.heap.raw_c_allocator, so it is affected by
this.
2024-02-25 05:38:28 -08:00
Jacob Young
f6af773578
llvm: remork memory management in emit
2024-02-25 03:58:06 -08:00
Techatrix
a07218cc43
http: handle header fields with empty value
2024-02-25 12:07:13 +01:00
Techatrix
9727931fda
fix integer overflow in indexOfPosLinear when needle.len > haystack.len
2024-02-25 12:07:12 +01:00
Jacob Young
4fcc750ba5
x86_64: implement more shuffles
2024-02-25 11:22:10 +01:00
Jacob Young
e5c439a16d
x86_64: implement optional comparisons
...
Closes #18959
2024-02-25 11:22:10 +01:00
Jacob Young
a76d8ca29b
x86_64: fix alignment of bool vectors
2024-02-25 11:22:10 +01:00
Jacob Young
513c4c145e
x86_64: fix avx2 @truncacte
2024-02-25 11:22:10 +01:00
Jacob Young
2fcb2f5975
Sema: implement vector coercions
...
These used to be lowered elementwise in air, and now are a single air
instruction that can be lowered elementwise in the backend if necessary.
2024-02-25 11:22:10 +01:00
Jacob Young
2fdc9e6ae8
x86_64: implement @shuffle
2024-02-25 11:22:10 +01:00
Jacob Young
defef3f1a1
x86_64: fix inline asm match constraints
2024-02-25 11:22:10 +01:00
Jacob Young
88d0fef92d
x86_64: implement @select
2024-02-25 11:22:10 +01:00
Jacob Young
ab6f9e3d10
x86_64: fix incorrect mnemonic selection
2024-02-25 11:22:10 +01:00
SuperAuguste
55f437b92b
Add pollTimeout for non-blocking/timeout-having polls
2024-02-25 01:41:56 -08:00
Andrew Kelley
6c2eb0f131
Merge pull request #19005 from squeek502/wtf
...
Fix handling of Windows (WTF-16) and WASI (UTF-8) paths, etc
2024-02-25 01:00:25 -08:00
Michael Dusan
63ea3e172e
std: re-enable most of setrlimit test on macos
...
- skip only RLIMIT_STACK test on macos
closes #18395
2024-02-24 21:31:48 -08:00
antlilja
71d9f3a86b
Builder: Fix llvm ir debug location output
2024-02-25 03:16:52 +01:00
antlilja
928914e25a
Builder: Improve debug location system
...
Debug locations are no longer emitted twice every time
2024-02-25 03:16:52 +01:00
Robinson Collado
119b2030f7
std.compress.flate: fix typo in function name ( #19002 )
2024-02-24 20:47:17 -05:00
Jacob Young
31763d28c4
Revert "tests: add -Dskip-cross-glibc option"
...
This reverts commit bc0f246911a35324473f72b770cc5715902cc912.
This was added as a workaround for a bug that has since been fixed.
2024-02-24 23:23:15 +01:00
Ryan Liptak
9fec608b3b
Add std.fs.path.fmtAsUtf8Lossy/fmtWtf16LeAsUtf8Lossy
2024-02-24 14:05:24 -08:00
Ryan Liptak
abd250bb9c
Use stack fallback allocator to usually avoid extra heap allocation in getEnvVarOwned
2024-02-24 14:05:24 -08:00
Ryan Liptak
68b87918df
Fix handling of Windows (WTF-16) and WASI (UTF-8) paths
...
Windows paths now use WTF-16 <-> WTF-8 conversion everywhere, which is lossless. Previously, conversion of ill-formed UTF-16 paths would either fail or invoke illegal behavior.
WASI paths must be valid UTF-8, and the relevant function calls have been updated to handle the possibility of failure due to paths not being encoded/encodable as valid UTF-8.
Closes #18694
Closes #1774
Closes #2565
2024-02-24 14:05:24 -08:00
Ryan Liptak
f6b6b8a4ae
Add std.unicode.fmtUtf8 that can handle ill-formed UTF-8
...
Ill-formed UTF-8 byte sequences are replaced by the replacement character (U+FFFD) according to "U+FFFD Substitution of Maximal Subparts" from Chapter 3 of the Unicode standard, and as specified by https://encoding.spec.whatwg.org/#utf-8-decoder
2024-02-24 14:04:59 -08:00
Ryan Liptak
80508b98c2
Update deprecated std.unicode function usages
2024-02-24 14:04:59 -08:00
Ryan Liptak
4ee1309a8d
std.unicode: Refactor and add WTF-16/WTF-8 functions
...
Renamed functions for consistent `Le` capitalization and conventions:
- utf16leToUtf8Alloc -> utf16LeToUtf8Alloc
- utf16leToUtf8AllocZ -> utf16LeToUtf8AllocZ
- utf16leToUtf8 -> utf16LeToUtf8
- utf8ToUtf16LeWithNull -> utf8ToUtf16LeAllocZ
- fmtUtf16le -> fmtUtf16Le
New UTF related functions:
- utf16LeToUtf8ArrayList
- utf8ToUtf16LeArrayList
- utf8ToUtf16LeAlloc
- isSurrogateCodepoint
(the ArrayList functions are mostly to allow the Alloc and AllocZ to share an implementation)
New WTF related functions/structs:
- wtf8Encode
- wtf8Decode
- wtf8ValidateSlice
- Wtf8View
- Wtf8Iterator
- wtf16LeToWtf8ArrayList
- wtf16LeToWtf8Alloc
- wtf16LeToWtf8AllocZ
- wtf16LeToWtf8
- wtf8ToWtf16LeArrayList
- wtf8ToWtf16LeAlloc
- wtf8ToWtf16LeAllocZ
- wtf8ToWtf16Le
- wtf8ToUtf8Lossy
- wtf8ToUtf8LossyAlloc
- wtf8ToUtf8LossyAllocZ
- Wtf16LeIterator
2024-02-24 14:04:58 -08:00
Jacob Young
b344ff01d3
Merge pull request #19031 from antlilja/llvm-bc
...
Emit LLVM bitcode without using LLVM
2024-02-24 22:18:30 +01:00
Igor Anić
8d651f512b
std.tar fix assert exploited by fuzzing
2024-02-24 13:17:04 -08:00
David Rubin
3eacd1b2e5
change addCSourceFiles to use LazyPath instead Dependency ( #19017 )
...
Co-authored-by: Jacob Young <jacobly0@users.noreply.github.com>
2024-02-24 16:12:04 -05:00
Michael Dusan
70fbafacf2
std: fix macos x86_64 to link stat$INODE64
...
- restricted similar $INODE64 symbols to macos x86_64 only
- minor cleanup and updated comments
closes #11386
2024-02-24 13:09:03 -08:00
Andrew Kelley
6fddc9cd3d
Merge pull request #19064 from ziglang/fix-netname-deleted
...
std: map NETNAME_DELETED to error.ConnectionResetByPeer
2024-02-24 10:03:40 -08:00
Jacob Young
edb6486b3b
BitcodeWriter: cleanup type widths
2024-02-24 17:00:36 +01:00
Jacob Young
7e9f321f53
Builder: fix bitcode widths
2024-02-24 16:41:37 +01:00
Andrew Kelley
9812bc7b10
std: map NETNAME_DELETED to error.ConnectionResetByPeer
...
This was observed in writing to a network stream that was closed on the
read end.
2024-02-24 04:16:53 -07:00
Andrew Kelley
f9bf4d1d60
std.http tests: wait for server response
...
This avoids a race that can make the unit test fail
2024-02-24 04:16:21 -07:00