Andrew Kelley
4462c60639
stage2: implement compiler id hash and add it to zig env
2020-08-17 18:56:27 -07:00
Andrew Kelley
a916f63940
std.cache_hash: fix bug parsing inode
...
This resulted in false negatives cache misses.
2020-08-17 18:49:33 -07:00
Andrew Kelley
18ac998767
zig env: add global_cache_dir field
2020-08-17 17:52:13 -07:00
Andrew Kelley
502d413621
simplify zig info and rename it to zig env
...
also add version to it
2020-08-17 17:06:43 -07:00
Sergey Poznyak
80e70735fb
add zig info command
2020-08-17 16:35:32 -07:00
Andrew Kelley
044e3ca592
Merge branch 'lun-4-signalfd-libc'
...
closes #6071
2020-08-17 16:20:23 -07:00
Andrew Kelley
ae2c88754d
std: signalfd: fix the types of things; add test
2020-08-17 16:19:57 -07:00
Luna
293b07df12
add signalfd to std.c.linux
2020-08-17 16:05:35 -07:00
Luna
2deb07a001
rename signalfd4 to signalfd
2020-08-17 16:05:35 -07:00
Andrew Kelley
96a27557e2
stage2 test harness: at least build all compare output tests
...
This should have been removed with an earlier commit that improved the
test harness.
2020-08-17 15:27:41 -07:00
Veikka Tuominen
d8fb377e2a
Merge pull request #6060 from Vexu/stage2
...
Stage2: more optionals stuff
2020-08-18 00:15:36 +03:00
Andrew Kelley
624e643872
Merge pull request #6046 from heidezomp/std-log-scoped-part2
...
std.log: (breaking) remove scope parameter from logging functions
2020-08-17 16:59:27 -04:00
Andrew Kelley
c00d3d47f0
Merge branch 'jedisct1-xchacha20'
...
closes #6074
2020-08-17 13:56:13 -07:00
Frank Denis
5fabb44aeb
Export crypto.aead
2020-08-17 13:55:40 -07:00
Frank Denis
cd591a9b25
No need for an explicit deref
2020-08-17 13:54:01 -07:00
Frank Denis
795033c35f
std/crypto: XChaCha20, detached modes and standard AEAD API
...
* Factor redundant code in std/crypto/chacha20
* Add support for XChaCha20, and the XChaCha20-Poly1305 construction.
XChaCha20 is a 24-byte version of ChaCha20, is widely implemented
and is on the standards track:
https://tools.ietf.org/html/draft-irtf-cfrg-xchacha-03
* Add support for encryption/decryption with the authentication tag
detached from the ciphertext
* Add wrappers with an API similar to the Gimli AEAD type, so that
we can use and benchmark AEADs with a common API.
2020-08-17 13:54:01 -07:00
Vexu
13b2f1e90b
address review feedback
2020-08-17 19:21:03 +03:00
Jakub Konka
5cb96681d9
Move Mach-O to link/MachO.zig submodule
...
Remove `ptrWidth` since as of Catalina, all apps are 64bits only.
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-08-17 18:16:29 +02:00
Jakub Konka
e23fc3905f
Add skeleton for MachO support in stage2
...
This commit adds an empty skeleton for MachO format support in stage2.
2020-08-17 18:16:29 +02:00
Vexu
ece4a2fc51
stage2: astgen for if and while with error unions
2020-08-17 14:28:04 +03:00
Vexu
db77b6b4e7
stage2: astgen for if and while with optionals
2020-08-17 14:28:04 +03:00
Vexu
012fac255f
stage2: fix optimization causing wrong optional child types
2020-08-17 14:26:32 +03:00
Vexu
c52513e25b
stage2: astgen for ptr types and address of
2020-08-17 14:24:56 +03:00
Andrew Kelley
6b141620a6
Merge pull request #6048 from pixelherodev/cleanup
...
Some minor cleanup and error handling
2020-08-17 01:41:52 -04:00
Isaac Freund
fc850aad61
stage2: fix signed <-> unsigned Value casts
2020-08-17 01:40:46 -04:00
Andrew Kelley
addeff889a
Merge branch 'jedisct1-25519'
...
closes #6050
2020-08-16 22:35:39 -07:00
Frank Denis
7f9a227abf
deinline edwards25519.{add,dbl}
2020-08-16 22:35:28 -07:00
Frank Denis
37ae246405
Inline Fe.{sub,mul,sq} for a performance boost in release-safe mode
2020-08-16 22:35:28 -07:00
Frank Denis
ab6ffa8a3c
Work around sqrtRatioM1() issue in release-safe mode
2020-08-16 22:35:28 -07:00
Frank Denis
08dfbee961
Benchmark signatures
2020-08-16 22:35:27 -07:00
Frank Denis
5ab69633b7
Constify the ladder
2020-08-16 22:35:27 -07:00
Frank Denis
d86cde5752
Add comment, use @truncate
2020-08-16 22:35:27 -07:00
Frank Denis
bcef123d90
Address more review issues
2020-08-16 22:35:27 -07:00
Frank Denis
263c444738
Move loop decrements into continuations
...
Suggested by @daurnimator
2020-08-16 22:35:27 -07:00
Frank Denis
ed558bfbaa
Address @daurnimator feedback
2020-08-16 22:35:27 -07:00
Frank Denis
dd8f7b396c
Rename the field and scalar modules
...
Suggested by @kubkon
2020-08-16 22:35:27 -07:00
Frank Denis
c483bf4f97
Update lib/std/crypto/25519/ristretto255.zig
...
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
2020-08-16 22:35:27 -07:00
Frank Denis
739b68938c
Update lib/std/crypto/25519/field25519.zig
...
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
2020-08-16 22:35:27 -07:00
Frank Denis
6af9bc8c68
Initialize structures directly
...
Suggested by @kubkon, thanks!
2020-08-16 22:35:27 -07:00
Frank Denis
5f9953f41f
Remove mem.timingSafeEqual() for now
...
This requires assembly implementations, and is not needed for
signature verification.
Thanks @daurnimator
2020-08-16 22:35:27 -07:00
Frank Denis
3f0d80f25e
Improve curve25519-based crypto
...
This is a rewrite of the x25519 code, that generalizes support for
common primitives based on the same finite field.
- Low-level operations can now be performed over the curve25519 and
edwards25519 curves, as well as the ristretto255 group.
- Ed25519 signatures have been implemented.
- X25519 is now about twice as fast.
- mem.timingSafeEqual() has been added for constant-time comparison.
Domains have been clearly separated, making it easier to later add
platform-specific implementations.
2020-08-16 22:35:27 -07:00
Frank Denis
f46e375bbe
std/crypto: gimli.Aead.decrypt()'s ad should be const
2020-08-17 07:16:06 +02:00
Noam Preil
3ca8c42e7a
Astgen: further cleanup
2020-08-16 20:36:33 -04:00
Noam Preil
93619a5e4e
Module: panic when encountering unimplemented node
2020-08-16 20:32:51 -04:00
Noam Preil
34923e071e
CBE: minor doc change
2020-08-16 20:32:50 -04:00
Noam Preil
692f38c250
astgen: minor cleanup
2020-08-16 20:32:50 -04:00
Andrew Kelley
8d8d568854
stage2: implement zig version
2020-08-15 20:04:08 -04:00
Andrew Kelley
66d76cc4f9
stage2: codegen for labeled blocks
2020-08-15 17:03:05 -07:00
Andrew Kelley
2cd19c05d0
stage1: remove buggy "unable to inline function" compile error
...
We still want this compile error but I'm giving up on implementing it
correctly in stage1. It's been buggy and has false positives sometimes.
I left the test cases there, but commented out, so that when we go
through the stage1 compile error cases and get coverage for them in
stage2 we can reactivate the test cases.
closes #2154
2020-08-15 09:53:39 -07:00
Andrew Kelley
0f3f96c850
stage2: astgen for labeled blocks and labeled breaks
2020-08-15 00:52:25 -07:00