Euan Torano
24fbd1f1d5
Add S_* values for freebsd.
2019-08-02 16:05:03 +01:00
Euan Torano
1583efda69
Fix call to S_ISCHR and implement for Mac
2019-08-02 15:55:56 +01:00
Andrew Kelley
bc31c1280e
disable segfault handler when panicking
...
this prevents a segfault in stack trace printing to activate the
segfault handler.
2019-07-22 12:41:59 -04:00
Andrew Kelley
eaf545e24c
fix build on windows
2019-07-15 19:50:56 -04:00
Andrew Kelley
49d1a4c562
move lib dirs to lib subdir
...
also start prefering NtDll API. so far:
* NtQueryInformationFile
* NtClose
adds a performance workaround for windows unicode conversion. but that
should probably be removed before merging
2019-07-15 17:54:50 -04:00
Andrew Kelley
51a3938b04
fix the build on macos
...
Stat structs gain methods to abstract over the platform differences with
regards to mtime, ctime, atime.
2019-07-15 12:28:39 -04:00
Andrew Kelley
b23ace27db
fix the build on windows
2019-07-15 01:45:26 -04:00
Andrew Kelley
aa170a7eff
implement std.fs.File.updateTimes for windows
2019-07-15 01:45:26 -04:00
Andrew Kelley
6096dc5f94
move some of the installation from cmake to zig build
...
This moves the installation of shipped source files from large
CMakeLists.txt lists to zig build recursive directory installation.
On my computer a cmake `make install` takes 2.4 seconds even when it has
to do nothing, and prints a lot of unnecessary lines to stdout that say
"up-to-date: [some file it is installing]".
After this commit, the default output of `make` is down to 1
second, and it does not print any junk to stdout. Further, a `make
install` is no longer required and `make` is sufficient.
This closes #2874 .
It also closes #2585 . `make` now always invokes `zig build` for
installing files and libuserland.a, and zig's own caching system makes
that go fast.
2019-07-15 01:45:26 -04:00
daurnimator
52f0300505
std: add new linux 5.2 constants
2019-07-12 11:52:32 -04:00
Andrew Kelley
1d2fc446bd
cap getdents length argument to INT_MAX
...
the linux syscall treats this argument as having type int, so passing
extremely long buffer sizes would be misinterpreted by the kernel.
since "short reads" are always acceptable, just cap it down.
patch based on musl commit 3d178a7e2b75066593fbd5705742c5808395d90d
2019-07-08 17:52:28 -04:00
daurnimator
e197968734
std: Make linux MAP_ definitions match kernel
2019-07-07 14:31:27 +10:00
daurnimator
7610d39413
std: Linux AT_ constants are the same across architectures
2019-07-07 14:11:43 +10:00
Andrew Kelley
3ad9349f09
add std.os.windows.subsystem
...
The original issue that #2445 wanted to fix was solved in the previous
commit. However it also exposed the subsystem in the standard library,
which is still useful. So that's done in this commit, and #2445 can be
closed.
2019-07-05 14:08:56 -04:00
emekoi
53ca4118bd
added segfault handler support for windows
2019-07-03 14:02:48 -04:00
emekoi
9d42a40a9f
return FileNotFound
for PATH_NOT_FOUND in DeleteFileW
2019-07-02 14:49:48 -04:00
Andrew Kelley
1a1598c58c
stack traces on segfault by default for linux-x86_64
...
closes #2355
2019-07-02 13:41:16 -04:00
Andrew Kelley
5cd4753bea
add missing error code for DeleteFileW
2019-06-26 14:32:19 -04:00
Jonathan Marler
c7bcf1a447
Fix windows create process retry/path search
2019-06-18 13:19:06 -04:00
daurnimator
4565f50efe
std: add linux kernel definitions for io_uring
2019-06-10 14:40:54 +10:00
daurnimator
ae604b4464
std: add linux kernel_rwf type and preadv2+pwritev2
2019-06-10 14:40:54 +10:00
Andrew Kelley
b735764898
different array literal syntax when inferring the size
...
old syntax: []i32{1, 2, 3}
new syntax: [_]i32{1, 2, 3}
closes #1797
2019-06-09 19:26:32 -04:00
emekoi
26613bfa01
switched to fixed-length buffer for error messages
2019-06-05 17:34:58 -05:00
emekoi
0288034c2f
fixed mismatched types
2019-06-05 15:30:01 -05:00
emekoi
0aabfb09f9
removed duplicate definitions
2019-06-05 14:57:20 -05:00
emekoi
b74bcc9d76
windows.unexpectedError prints a human friendly string
2019-06-05 14:42:36 -05:00
LemonBoy
46cbed621b
Move dl_iterate_phdr to os.zig
2019-05-31 11:59:53 +02:00
LemonBoy
51fc375b0d
Correct flag definitions for arm64
2019-05-30 17:05:39 +02:00
LemonBoy
477ee9c8b9
Fix some syscalls on arm64
2019-05-30 16:28:33 +02:00
Andrew Kelley
c66a747045
Merge pull request #2546 from LemonBoy/sigaltstack
...
Add sigaltstack syscall for Linux
2019-05-29 19:38:01 -04:00
Andrew Kelley
bfc86776d5
run zig fmt to update use
to usingnamespace
2019-05-29 19:09:58 -04:00
LemonBoy
399e026cc0
Add sigaltstack wrapper in os.zig
2019-05-29 22:38:14 +02:00
Andrew Kelley
b66438eb80
no "use of undeclared identifer" in dead comptime branches
2019-05-28 18:19:27 -04:00
LemonBoy
bcdbd8d169
Add sigaltstack syscall
2019-05-28 15:22:19 +02:00
Andrew Kelley
3640303ce1
freebsd fixes
2019-05-27 17:28:59 -04:00
Andrew Kelley
86bb7e5984
fixes for windows to build self hosted compiler
2019-05-27 15:55:15 -04:00
Andrew Kelley
06435535d3
fixes for darwin
2019-05-27 14:12:50 -04:00
Andrew Kelley
fda7e0bb01
std lib fixes for zig build on windows
2019-05-27 02:00:39 -04:00
Andrew Kelley
129714d077
more fixes for windows and wasi
2019-05-27 01:35:58 -04:00
Andrew Kelley
6be79d79aa
fixes for Windows and WASI
2019-05-27 00:48:56 -04:00
Andrew Kelley
0c6ab61b22
tests passing on linux
2019-05-26 23:35:26 -04:00
Andrew Kelley
2b42e910bf
behavior tests passing on Linux
2019-05-26 19:56:37 -04:00
Andrew Kelley
44a049e01e
more cleanup. down to just the @hasDecl
builtin
2019-05-26 18:32:45 -04:00
Andrew Kelley
2f040a23c8
clean up references to os
2019-05-26 18:32:44 -04:00
Andrew Kelley
7cb6279ac0
clean up references to posix
2019-05-26 18:32:44 -04:00
Andrew Kelley
ca6debcaf4
starting to fix the regressions
2019-05-26 18:32:44 -04:00
Andrew Kelley
3d61e42282
rename "posix" to "bits"
2019-05-26 18:32:44 -04:00
Andrew Kelley
17b0166e00
do Jay's suggestion with posix/os API naming & layout
2019-05-26 18:32:44 -04:00
Andrew Kelley
2def23063f
more progress. moving windows API layer to its own file
2019-05-26 18:32:44 -04:00
Andrew Kelley
daae7e1f5a
more progress on posix API layer
...
see #2380
2019-05-26 18:32:43 -04:00