Stephen Gregoratto
bc69d62669
Linux: Add fchmodat fallback when flags is nonzero
...
The check for determining whether to use the fallback code has been
moved into an inline function as per Andrew's comments in #17954 .
2024-01-13 23:52:01 -07:00
Stephen Gregoratto
cf6751ae55
Add fchmodat2 bits to os/linux.zig
2024-01-13 23:52:01 -07:00
Stephen Gregoratto
26db31f6f6
Add fchmodat2 to the Linux syscall list
...
This syscall was added to simplify the the libc implementations of
fchmodat, as the original syscall does not take a `flags` argument.
Another syscall, `map_shadow_stack`, was also added for x86_64.
2024-01-13 23:52:01 -07:00
Andrew Kelley
bd46410419
Revert "Merge pull request #18410 from dweiller/by-length-slice-bug"
...
This reverts commit d9d840a33a , reversing
changes made to a04d433094 .
This is not an adequate implementation of the missing safety check, as
evidenced by the changes to std.json that are reverted in this commit.
Reopens #18382
Closes #18510
2024-01-13 23:21:44 -07:00
Carl Åstholm
0f9345ea9a
Expose -f(no-)formatted-panics to the build system (again)
2024-01-13 22:07:34 -08:00
Ryan Liptak
4dd3505e43
std.ArrayList: Clarify that ensureTotalCapacity/ensureTotalCapacityPrecise will never shrink the array
...
Closes #18499
2024-01-13 19:58:22 -08:00
vinnichase
279607cae5
Fix fmt UTF-8 characters as fill ( #18533 )
...
Co-authored-by: Jacob Young <jacobly0@users.noreply.github.com>
2024-01-13 22:47:03 -05:00
Nameless
b723296e1f
std.http: add missing documentation and a few examples
2024-01-13 18:51:38 -08:00
Nameless
832f6d8f7f
std.Uri: fix implementation of resolve with trailing slashes
2024-01-13 18:50:29 -08:00
Guillaume Wenzek
c5d359e4cd
fix #17142 , wrong comptime log_int computation
2024-01-13 18:46:16 -08:00
Igor Anić
7d3a31872e
tar: improve diagnostic reporting
...
Using Python testtar file (mentioned in #14310 ) to test diagnostic
reporting.
Added computing checksum by using both unsigned and signed header bytes
values.
Added skipping gnu exteneded sparse headers while reporting unsupported
header in diagnostic.
Note on testing:
wget https://github.com/python/cpython/raw/3.11/Lib/test/testtar.tar -O
/tmp/testtar.tar
```
test "Python testtar.tar file" {
const file_name = "testtar.tar";
var file = try std.fs.cwd().openFile("/tmp/" ++ file_name, .{});
defer file.close();
var diag = Options.Diagnostics{ .allocator = std.testing.allocator };
defer diag.deinit();
var iter = iterator(file.reader(), &diag);
while (try iter.next()) |f| {
std.debug.print("supported: {} {s} {d}\n", .{ f.kind, f.name, f.size });
try f.skip();
}
for (diag.errors.items) |e| {
switch (e) {
.unsupported_file_type => |u| {
std.debug.print("unsupported: {} {s}\n", .{ u.file_type, u.file_name });
},
else => unreachable,
}
}
}
```
2024-01-13 19:37:33 -07:00
Igor Anić
7923a53996
tar: rename reader to iterator
...
Itarator has `next` function, iterates over tar files. When using from
outside of module with `tar.` prefix makes more sense.
var iter = tar.iterator(reader, null);
while (try iter.next()) |file| {
...
}
2024-01-13 19:37:33 -07:00
Igor Anić
e21a12e56b
tar: use @embedFile in tests
...
Like in other tests which uses testdata files (compress). That enables
wasi testing also, was failing because file system operations in tests.
2024-01-13 19:37:33 -07:00
Igor Anić
76fe1f53d5
tar: fix tests on 32-bit platforms
2024-01-13 19:37:33 -07:00
Igor Anić
a75fd4ff15
tar: move test cases to std/tar/testdata
...
Create std/tar/test.zig for test which uses cases from testdata.
2024-01-13 19:37:33 -07:00
Igor Anić
f8e42d6b30
tar: add Go test case files to the project
2024-01-13 19:37:33 -07:00
Igor Anić
c07527abac
tar: reorganize file, functions before tests
2024-01-13 19:37:33 -07:00
Igor Anić
c76abe0e18
tar: use file word in less places
2024-01-13 19:37:33 -07:00
Igor Anić
4a6d67ab1a
tar: remove stratch from tar reader
...
Use explicit buffers for name, link_name instead.
It is cleaner that way.
2024-01-13 19:37:33 -07:00
Igor Anić
9f7dd32308
tar: refactor pax attribute
...
Make it little readable.
2024-01-13 19:37:33 -07:00
Igor Anić
dbab45cfc6
tar: replace custom buffered reader with std.io
2024-01-13 19:37:33 -07:00
Igor Anić
58e0e509c6
tar: add module comment and references
2024-01-13 19:37:33 -07:00
Igor Anić
a3cf8ec71e
tar: add pax file reader tests
2024-01-13 19:37:33 -07:00
Igor Anić
7b0bbc680f
tar: add file mode to result of tarbal iteration
...
So we have information to set executable bit on write to file system.
2024-01-13 19:37:33 -07:00
Igor Anić
2a432d3008
tar: prefix test cases with 'tar'
...
To make it little easier to filter from all stdlib tests.
2024-01-13 19:37:33 -07:00
Igor Anić
2ed9a276a7
tar: use Go test cases path from env variable
...
Skip tests if env is not set.
2024-01-13 19:37:33 -07:00
Igor Anić
6bfa7bf197
tar: use scratch buffer for file names
...
That makes names strings stable during the iteration. Otherwise string
buffers can be overwritten while reading file content.
2024-01-13 19:37:33 -07:00
Igor Anić
6e7a39c935
tar: refactor reading pax attributes
2024-01-13 19:37:33 -07:00
Igor Anić
c761dfc176
tar: add gnu path and link extensions handling
2024-01-13 19:37:33 -07:00
Igor Anić
48b160c1bf
tar: handle pax null attrs and pax attr ending
2024-01-13 19:37:33 -07:00
Igor Anić
16c40fc471
tar: add header chksum checking
2024-01-13 19:37:33 -07:00
Igor Anić
169f28d3e6
tar: fix import path
2024-01-13 19:37:33 -07:00
Igor Anić
e1424b84b8
tar: add parsing size in gnu extended format
...
Reference:
https://www.gnu.org/software/tar/manual/html_node/Extensions.html#Extensions
If the leading byte is 0x80 (128), the non-leading bytes of the field
are concatenated in big-endian order, with the result being a positive
number expressed in binary form.
2024-01-13 19:37:33 -07:00
Igor Anić
6d5283e835
tar: refactor reader and iterator
...
Make it more readable.
2024-01-13 19:37:33 -07:00
Igor Anić
be5d04ab79
tar: add pax linkpath attribute parsing
...
Name of symbolic link can be also found in pax attribute.
2024-01-13 19:37:33 -07:00
Igor Anić
1817063375
tar: add initial test cases
...
Just adding tests, without changing functionality.
2024-01-13 19:37:33 -07:00
Igor Anić
4381241237
tar: refactor Buffer
...
Move reader into Buffer and make it BufferedReader. This doesn't
introduce any new functionality just grouping similar things.
2024-01-13 19:37:33 -07:00
Igor Anić
ff8544daa5
tar: refactor code to be more testable
...
Split reading/parsing tar file and writing results to the disk in two
separate steps. So we can later test parsing part without need to write
everyting to the disk.
2024-01-13 19:37:33 -07:00
Jacob Young
7916cf6f83
std.io.GenericReader: add missing error annotations
2024-01-13 13:16:51 -08:00
Chris Boesch
d8b5831dc4
Fixed verbatim copy of trailing '%' in unescapeStr
2024-01-12 16:20:44 -08:00
Meghan Denny
f49a8c5431
std: make c.versionCheck() a comptime-known function
2024-01-12 16:17:39 -08:00
Andrew Kelley
45ec851733
zig build: handle stderr more elegantly
...
* Specifically recognize stderr as a different concept than an error
message in Step results.
* Display it differently when only stderr occurs but the build proceeds
successfully.
closes #18473
2024-01-10 17:11:26 -08:00
Andrew Kelley
e025ad7b46
std.mem: fix simd.suggestVectorLength merge conflict
...
Commits
2f8e4347b1 and
6a32d58876 had a conflict that was
undetected by source control.
2024-01-09 18:20:53 -07:00
Veikka Tuominen
828d23956d
std.heap: add runtime safety for calling stackFallback(N).get multiple times
...
Closes #16344
2024-01-09 17:18:20 -08:00
Andrew Kelley
6a32d58876
Merge pull request #18318 from castholm/simd-segfault
...
Rename `simd.suggestVectorSize` to clarify intent and fix related segfault
2024-01-09 17:13:58 -08:00
Matthew Wozniak
aaf1e0b25b
add ability to open dlls with platform-specific flags ( #18370 )
2024-01-09 20:11:22 -05:00
Bogdan Romanyuk
4a1a5ee47b
AstGen: add error for redundant comptime var in comptime scope ( #18242 )
2024-01-09 20:09:39 -05:00
Andrew Kelley
157cdaee0e
Merge pull request #18498 from castholm/cpu-cortex-m-optional-deps
...
Don't enable optional ARM Cortex-M series CPU features by default
2024-01-09 17:08:08 -08:00
PauloCampana
fcc0c5ddc7
Add std.math.gamma and lgamma ( #18449 )
...
See #7212
2024-01-09 14:53:47 -08:00
Carl Åstholm
0cd508b09f
Re-run update_cpu_features (LLVM 17)
...
release/17.x branch, commit 8f4dd44097c9ae25dd203d5ac87f3b48f854bba8
(same as the previous run)
2024-01-09 17:53:43 +01:00