Jakub Konka
5a7105401c
First hacked together, working MachO exe!
2020-10-04 15:31:47 +02:00
Jakub Konka
635984abc7
Move writing symbol table and export trie into functions
2020-10-04 15:31:47 +02:00
Jakub Konka
ccf9bba61f
Write out LC_DYSYMTAB together with dyld_stub_binder undef symbol
2020-10-04 15:31:47 +02:00
Jakub Konka
a927f24201
Generate more MachO exe boilerplate
...
* Convert draft to generate all relevant segments and sections in right places
* Do not prealloc space in text blocks until we can NOP
* Write out LC_LOAD_DYLINKER command
* Add LC_LOAD_DYLIB command in order to specify to load libSystem
* Redo update decl exports (similar to Elf globals, globals need to be contiguous in
memory)
2020-10-04 15:31:47 +02:00
Jakub Konka
57a81bb559
Re-draft required elements for minimal MachO binary
2020-10-04 15:31:47 +02:00
Joran Dirk Greef
9091fcbe9d
Improve openat/accept test debugging
2020-10-04 15:11:09 +02:00
Joran Dirk Greef
6a53f4be4b
Add openat(), close(), connect(), send(), recv(), as well as tests
...
Removes non-essential .hardlink_with_next_sqe() and .drain_previous_sqes().
2020-10-04 13:15:39 +02:00
Joran Dirk Greef
3d2de6cfba
Use load relaxed semantics when reading the SQPOLL wakeup flag
2020-10-04 13:14:57 +02:00
Joran Dirk Greef
69a55fc560
Allow for advanced non-sequential SQE allocation schemes
...
Decouples SQE queueing and SQE prepping methods to allow for non-sequential
SQE allocation schemes as suggested by @daurnimator.
Adds essential SQE prepping methods from liburing to reduce boilerplate.
Removes non-essential .link_with_next_sqe() and .use_registered_fd().
2020-10-04 13:01:41 +02:00
Joran Dirk Greef
e32c7d06e5
Limit entries to u12, add errors for invalid entries, use mem.zeroInit
2020-10-04 12:49:48 +02:00
Joran Dirk Greef
61ec6cb6d3
Expose available kernel features
2020-10-04 12:48:08 +02:00
Jakub Konka
0e2d858d69
Revert back to original Win CI install script
...
Since msys2/MSYS2-packages#2050 was fixed, we can now revert back to the
original install script.
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-10-04 11:53:07 +02:00
Alexandros Naskos
23cd3b3331
Merge branch 'master' of https://github.com/ziglang/zig into add_some_frees
2020-10-04 10:39:26 +03:00
Andrew Kelley
8170a3d574
Merge pull request #6463 from jedisct1/ghash
...
std/crypto: add GHASH implementation
2020-10-04 02:46:36 -04:00
Andrew Kelley
5fda4fe4c8
Merge pull request #6454 from jedisct1/hkdf
...
std/crypto: implement the HKDF construction
2020-10-04 02:45:54 -04:00
LemonBoy
538d485782
std: Add pow(a,b) for big ints
...
Implemented following Knuth's "Evaluation of Powers" chapter in TAOCP,
some extra complexity is needed to make sure there's no aliasing and
avoid allocating too many limbs.
A brief example to illustrate why the last point is important:
consider 10^123, since 10 is well within the limits of a single limb we
can safely say that the result will surely fit in:
⌈log2(10)⌉ bit * 123 = 492 bits = 7 limbs
A naive calculation using only the number of limbs yields:
1 limb * 123 = 123 limbs
The space savings are noticeable.
2020-10-04 02:24:40 -04:00
Andrew Kelley
2de53592a1
stage1: better value for builtin.link_mode
...
Now it is Dynamic unless -DZIG_STATIC=on is passed to cmake.
This partially addresses #6469 .
2020-10-03 23:15:45 -07:00
John Sullivan
ab7ea53541
cmake: add option to use llvm-config to find cross-target llvm deps
2020-10-04 00:41:32 -04:00
Alexandros Naskos
52ba2c3a43
Reintroduce progress bar when compiling C files
2020-10-03 22:11:29 -04:00
Tadeo Kondrak
9917b0576a
stage0: check for some more required parameters
2020-10-03 21:32:32 -04:00
Tadeo Kondrak
cbdd825056
stage1: delete unused os code
2020-10-03 21:31:08 -04:00
Tadeo Kondrak
26546af1b8
Revert "Include dbg.h to third-party libs"
...
This reverts commit c8b4cc2ff9cf15a42f95b2302e02431a0004f5c8.
This includes many C++ standard library headers:
#include <algorithm>
#include <chrono>
#include <ctime>
#include <iomanip>
#include <ios>
#include <iostream>
#include <memory>
#include <sstream>
#include <string>
#include <tuple>
#include <type_traits>
#include <vector>
which adds more than a second of compile time for each file that
includes the header:
ir.cpp before: 8.041s
ir.cpp after: 6.847s
2020-10-03 21:29:29 -04:00
Andrew Kelley
d1e779cea8
ci: update azure msys base installer
...
hopefully resolves the CI failures
2020-10-03 17:33:51 -07:00
Andrew Kelley
b306149b22
zig run foo.c is perfectly valid
2020-10-03 17:27:09 -07:00
Andrew Kelley
a2b86777b5
fix alignment in CLI usage text
2020-10-03 17:21:45 -07:00
Andrew Kelley
0e7523c7d7
stage1 main(): catch unreachable in debug builds for easier troubleshooting
...
Fixup to 2a3393eff853fe0a1dee766c859a345186e91fa3
2020-10-03 17:16:19 -07:00
Andrew Kelley
70f3767903
revert adding std.event.Loop.runDetached
...
I'd like to discuss this before adding it. I think this is the wrong
direction to go with this API.
2020-10-03 17:13:22 -07:00
Alexandros Naskos
f3397fad68
Merge pull request #6519 from LemonBoy/fix-6497
...
stage2: Build libunwind for non-msvc Windows targets
2020-10-04 01:23:35 +03:00
LemonBoy
3b40b68210
stage2: Build libunwind for non-msvc Windows targets
...
Closes #6497
2020-10-03 20:47:06 +02:00
LemonBoy
8b4f5f039d
Alternative strategy to avoid calling stat()
...
This is an optimization as it avoids an extra syscall, but it's also a
workaround for fstat being not available on Windows.
2020-10-03 19:51:22 +02:00
Joran Dirk Greef
c5b4fcaa1c
Add IORING_FEAT_POLL_32BITS
2020-10-03 17:43:08 +02:00
Alexandros Naskos
4396373ccb
Merge pull request #6503 from kristoff-it/fix-darwin-symlink-exe
...
fix symlink path not being resolved in darwin
2020-10-03 18:29:44 +03:00
Joran Dirk Greef
a9b107045f
Use load acquire semantics when reading the SQPOLL wakeup flag
...
Ensures that the wakeup flag is read after the tail pointer has been
written. It's important to use memory load acquire semantics for the
flags read, otherwise the application and the kernel might not agree on
the consistency of the wakeup flag, leading to I/O starvation.
Refs: 6768ddcc56
Refs: https://github.com/axboe/liburing/issues/219
2020-10-03 14:34:42 +02:00
Joran Dirk Greef
95def89c23
Handle EBADFD (ring fd in bad state) in enter()
2020-10-03 14:34:01 +02:00
joachimschmidt557
fb58fb2d8d
stage2 ARM: add testcases for non-leaf fns, parameters, return values
2020-10-03 12:52:04 +02:00
LemonBoy
0f248e0988
std: Make file copy ops use zero-copy mechanisms
...
Use copy_file_range on Linux (if available), fcopyfile on Darwin,
sendfile on *BSDs (and on Linux kernels without copy_file_range).
2020-10-03 12:31:17 +02:00
Loris Cro
276598346a
provide the full buffer length to _NSGetExecutablePath
...
Signed-off-by: Loris Cro <kappaloris@gmail.com>
2020-10-03 12:03:22 +02:00
Alexandros Naskos
e31cc80130
Merge pull request #6427 from tadeokondrak/enums-explicit-tag-type-extern-allowed
...
Allow enums with explicit extern-allowed tag types in extern types
2020-10-03 12:51:39 +03:00
Alexandros Naskos
b5034bd776
Merge pull request #6506 from FireFox317/stage2-cli
...
Print error when running `zig test/run` without a source file
2020-10-03 12:47:49 +03:00
Timon Kruiper
539e90e26d
Print error when running zig test/run without a source file
...
Closes #6498
2020-10-02 19:59:00 +02:00
joachimschmidt557
cfe486e388
stage2 ARM: Add push, pop alias instructions; non-leaf functions
...
Non-leaf functions now work. Combined with simple parameters and return
types, this allows more complicated programs than Hello World to be
correctly compiled.
2020-10-02 19:39:17 +02:00
joachimschmidt557
35b228630c
stage2 ARM: Add stm, ldm variants and misc. additions
2020-10-02 19:39:17 +02:00
joachimschmidt557
0a54f04dbc
stage2 ARM: start adding more instructions, return values, parameters
2020-10-02 19:39:17 +02:00
Loris Cro
f841ea77e2
make symlink buffer null-terminated
...
Signed-off-by: Loris Cro <kappaloris@gmail.com>
2020-10-02 19:33:14 +02:00
Loris Cro
a2074c1ec3
fix symlink path not being resolved in darwin
...
Signed-off-by: Loris Cro <kappaloris@gmail.com>
2020-10-02 17:06:29 +02:00
Alexandros Naskos
e9434ff8f4
Merge pull request #6430 from jedisct1/llvm-config
...
Print the llvm-config path on configuration error
2020-10-02 17:02:08 +03:00
Alexandros Naskos
55eb7c16c0
Merge pull request #6494 from IridescentRose/emit-reloc-patch
...
Emit reloc patch
2020-10-02 17:00:47 +03:00
Alexandros Naskos
cd4c1ea790
Merge pull request #6491 from markfirmware/patch-2
...
Fixes --linker-script unrecognized
2020-10-02 17:00:22 +03:00
Alexandros Naskos
006b780d44
Merge pull request #6484 from LemonBoy/winshit
...
Some windows fixes
2020-10-02 15:05:44 +03:00
Alexandros Naskos
e207031837
Merge pull request #6402 from tadeokondrak/@Type(.Fn)
...
Implement @Type for Fn
2020-10-02 09:44:27 +03:00