Andrew Kelley
c0b774fbc6
stage2: support passing extra C flags to C source files
...
closes #3508
2020-09-23 10:22:44 -07:00
Andrew Kelley
d03fcc73fc
stage2: implement --main-pkg-path
2020-09-23 09:56:30 -07:00
Andrew Kelley
15b2bae517
fix trying to link libc for static libs and objects
2020-09-23 09:41:55 -07:00
Timon Kruiper
bbff6bd675
Eventloop: Enable basic event loop test, fixed by previous commit
...
Closes #4922
2020-09-23 18:38:28 +02:00
Calle Englund
94024a9fae
Update macOS build instructions with workaround
2020-09-23 16:26:35 +02:00
Timon Kruiper
0eed7ec9d5
Eventloop: Fix deadlock in linux event loop implementation
...
A simple empty main with evented-io would not quit, because some
threads were still waiting to be resumed (by the os). The os.write to
the eventfd only wakes up one thread and thus there are multiple writes
needed to wake up all the other threads.
2020-09-23 11:41:31 +02:00
Andrew Kelley
800a4a6ceb
eliminate dependency of libzigcpp.a on libzigstage1.a
...
This allows us to create a build of self-hosted with LLVM extensions
enabled but without the stage1 backend.
2020-09-23 00:00:24 -07:00
Andrew Kelley
fc88d36dae
stage2: link_libc=true on OS's that require it for syscalls
2020-09-22 23:31:32 -07:00
Andrew Kelley
0638a020cf
stage2: implement --pkg-begin and --pkg-end CLI args
2020-09-22 23:00:33 -07:00
Andrew Kelley
c2b1cd7c45
stage2: implement zig build
...
As part of this:
* add std.process.cleanExit. closes #6395
- use it in several places
* adjust the alignment of text in `zig build --help` menu
* Cache: support the concept of "unhit" so that we properly keep track
of the cache when we find out using the secondary hash that the cache
"hit" was actually a miss. Use this to fix false negatives of caching
of stage1 build artifacts.
* fix not deleting the symlink hash for stage1 build artifacts causing
false positives.
* implement support for Package arguments in stage1 build artifacts
* update and add missing usage text
* add --override-lib-dir and --enable-cache CLI options
- `--enable-cache` takes the place of `--cache on`
* CLI supports -femit-bin=foo combined with --enable-cache to do an
"update file" operation. --enable-cache without that argument
will build the output into a cache directory and then print the path
to stdout (matching master branch behavior).
* errors surfacing from main() now print "error: Foo" instead of
"error: error.Foo".
2020-09-22 22:18:19 -07:00
Andrew Kelley
250664bea4
build runner: allow for a bit longer -D options
...
so they can display in the --help menu without getting squished.
2020-09-22 14:56:52 -07:00
Andrew Kelley
dacd36ca9b
stage2: implement using the global cache dir
2020-09-22 14:08:08 -07:00
Andrew Kelley
e2d1f9874d
Merge remote-tracking branch 'origin/master' into llvm11
2020-09-22 11:41:21 -07:00
Bhargav Srinivasan
84406d98e4
removing redundant assert
2020-09-22 05:12:21 -07:00
Bhargav Srinivasan
778bb4b324
return not found error correctly
2020-09-22 03:50:28 -07:00
Bhargav Srinivasan
983830a4ae
replace linearSearch with mem.indexOfScalar, return not found error, factor out siftUp from addUnchecked, use compareFn to decide siftUp/siftDown
2020-09-22 03:46:13 -07:00
Bhargav Srinivasan
a5140cc902
implemented efficient heapreplace
2020-09-22 02:12:35 -07:00
Bhargav Srinivasan
1345f87f4e
items are not sorted, using linear search
2020-09-22 01:50:22 -07:00
Bhargav Srinivasan
69f0fc513a
sorry, local compiler using different version of zig
2020-09-22 01:36:41 -07:00
Bhargav Srinivasan
f083ea88d8
using binary search function from std.sort
2020-09-22 01:05:33 -07:00
Andrew Kelley
bf9a16a037
stage2: implement zig init-lib and zig init-exe
2020-09-21 23:28:34 -07:00
Bhargav Srinivasan
26de64be13
adding a function to update the priority of an element
2020-09-21 23:09:22 -07:00
Andrew Kelley
877e4248fc
stage2: implement building & linking against libcxx and libcxxabi
2020-09-21 22:38:45 -07:00
Andrew Kelley
974333faaf
stage2: fix linking libc trying to depend on itself
2020-09-21 21:42:27 -07:00
Andrew Kelley
0c70bb4fce
Merge remote-tracking branch 'origin/master' into stage2-zig-cc
2020-09-21 21:16:46 -07:00
Andrew Kelley
afac5d2895
fix regressed stage2 test harness
2020-09-21 21:14:01 -07:00
Andrew Kelley
ead50ea665
stage2: implement zig run and zig test
2020-09-21 21:01:04 -07:00
Andrew Kelley
528832bd3a
rename src-self-hosted/ to src/
2020-09-21 18:38:55 -07:00
Andrew Kelley
b9f61d4015
stage1: resolve builtin.zig path when bootstrapping
2020-09-21 18:26:24 -07:00
Andrew Kelley
61c54b2d49
Cache integration for stage1 zig code compilation
2020-09-21 18:21:49 -07:00
Andrew Kelley
b8861a94dd
stage2: building compiler_rt and libc static archive with stage1
...
* add CLI support for verbose debugging options
* implement building compiler_rt and libc static archive using stage1
C++ backend
* add function_sections and link_libcpp to root cache hash.
* cleanups to use the new Directory.join method.
* Package supports being initialized directly and cleaned up create()
method.
* fix classifyFileExt incorrectly saying .zir is .zig. Thanks
@Rocknest!
* unify updateSubCompilation implementations
2020-09-21 16:33:29 -07:00
Andrew Kelley
bd1465a3fe
cmake: output better message when building self-hosted
...
Thanks @bfredl!
2020-09-21 16:32:56 -07:00
Andrew Kelley
561ed38f12
ci: drop the cmake patch for linux
...
hopefully they've solved the polly plugin thing by now on apt.llvm.org.
2020-09-21 12:40:19 -07:00
Vexu
ced061fcbf
stage2: update uses of DepTokenizer
2020-09-21 15:23:41 -04:00
Vexu
b759308fb3
stage2: DepTokenizer print errors
2020-09-21 15:23:41 -04:00
Vexu
f27bc79121
stage2: DepTokenizer add target resolver
2020-09-21 15:23:41 -04:00
Vexu
302e156523
stage2: make DepTokenizer non-allocating
2020-09-21 15:23:41 -04:00
Joran Dirk Greef
5f99d2c240
Define SPLICE, PROVIDE_BUFFERS, REMOVE_BUFFERS and TEE opcodes and flags
2020-09-21 20:15:14 +02:00
Joran Dirk Greef
2d8df2b745
Use @intCast instead of @truncate
2020-09-21 12:03:52 +02:00
Joran Dirk Greef
7719abbf54
Add flags to queue_fsync() signature as per liburing
2020-09-21 11:09:37 +02:00
Joran Dirk Greef
57603fd26d
Use @intCast instead of @truncate on io_uring_enter() result
2020-09-21 11:09:09 +02:00
Joran Dirk Greef
575ed941d7
Cache mask instead of dereferencing mask pointer
2020-09-21 11:07:11 +02:00
Joran Dirk Greef
843c104fc9
Add io_uring syscalls to os.bits.linux.mips.SYS
...
As per lib/libc/musl/arch/mips/bits/syscall.h.in:
```c
```
2020-09-21 10:39:58 +02:00
Joran Dirk Greef
a853f00410
Add IORING_FEAT_FAST_POLL
2020-09-20 19:51:23 +02:00
Joran Dirk Greef
77903f8d4e
Test structs and offsets
2020-09-20 18:45:44 +02:00
Joran Dirk Greef
e51728a1b4
Make enter(), flush_sq(), sq_ring_needs_enter(), cq_ring_needs_flush() public
...
These will also be needed by any custom helpers
2020-09-20 15:54:31 +02:00
Joran Dirk Greef
40293a0643
Add safety checks
2020-09-20 15:41:22 +02:00
Joran Dirk Greef
f22eea82c4
Fix opcode support detection for read/write test
2020-09-20 15:33:48 +02:00
Joran Dirk Greef
b672dc7abf
Use os.fd_t instead of i32 and assert against c_int for syscall safety
2020-09-20 14:59:40 +02:00
Joran Dirk Greef
abebacda32
Handle all possible syscall errors and bring errors in line with os.zig
2020-09-20 14:21:44 +02:00