Commit graph

22529 commits

Author SHA1 Message Date
fn ⌃ ⌥
33682a29c6 Rewrite update_crc_catalog in zig and move tests to separate file 2023-01-22 07:16:49 -08:00
fn ⌃ ⌥
6089ed9ee7 Merge branch 'master' into crc 2023-01-22 05:30:38 -08:00
joachimschmidt557
c0284e242f stage2 ARM: add basic debug info for locals
Also disables one behavior test which was failing
2023-01-22 12:00:04 +01:00
Andrew Kelley
a51c76541d
Merge pull request #14403 from Vexu/fixes
Misc fixes
2023-01-22 00:36:50 -05:00
fn ⌃ ⌥
f85c01d4c7 Implement gzip header CRC check.
From RFC 1952:

> If FHCRC is set, a CRC16 for the gzip header is present,
> immediately before the compressed data. The CRC16 consists
> of the two least significant bytes of the CRC32 for all
> bytes of the gzip header up to and not including the CRC16.
2023-01-22 00:33:29 -05:00
Jakub Konka
562d52e23d
Merge pull request #14397 from ziglang/macho-unwind-info
zld: handle parsing and synthesising unwind info in the MachO linker
2023-01-22 00:44:44 +01:00
Veikka Tuominen
aa626deadd llvm: implement explicit Win64 and SysV calling conventions 2023-01-22 01:04:20 +02:00
Veikka Tuominen
a28fbf3132 Sema: fix error message for bad pointer arithmetic
Closes #14388
2023-01-22 01:04:20 +02:00
Veikka Tuominen
1f475de852 Sema: fix unwrapping null when reporting error on member access
Closes #14399
2023-01-22 01:04:20 +02:00
Veikka Tuominen
5259d11e3b Sema: resolve fields before checking tuple len
Closes #14400
2023-01-22 00:12:37 +02:00
Veikka Tuominen
5f5ab49168 Value: implement compareAllWithZero for bytes and str_lit
Closes #10692
2023-01-22 00:12:37 +02:00
Veikka Tuominen
a492a607d5 type: correct condition for eliding pointer alignment canonicalization
Closes #14373
2023-01-22 00:12:37 +02:00
Veikka Tuominen
d284c00fda Sema: handle lazy values in more places
* resolve lazy values in anon structs being passed to anytype params
* use `resolveMaybeUndefValIntable` where appropriate

Closes #14356
2023-01-22 00:12:36 +02:00
Stephen Gregoratto
7f635ae7bd FreeBSD: add mcontext_t for aarch64
What isn't disabled for test-std mostly passes, except for the copysign
and signbit tests for f16. Seemingly related to #14366.
2023-01-21 23:20:50 +02:00
Jakub Konka
241cabdf3d link-tests: do not expect __eh_frame section on x86_64-macos 2023-01-21 19:14:44 +01:00
Jakub Konka
6fd1d7b372 zld: fix 32bit build 2023-01-21 17:17:34 +01:00
Jakub Konka
983e373409 macho: fix sorting symbols by seniority 2023-01-21 16:53:46 +01:00
fn ⌃ ⌥
be4468be37 std.hash.crc: implement algorithms listed in CRC RevEng catalog 2023-01-21 07:04:09 -08:00
Jakub Konka
02db9933a4 macho: properly relocate target symbol address in __eh_frame 2023-01-21 14:11:56 +01:00
Jakub Konka
3dff040ca5 macho: synthesise unwind records in absence of compact unwind section
Unlike Apple ld, we will not do any DWARF CFI parsing and simply
output DWARF type unwind records.
2023-01-21 13:37:48 +01:00
Jakub Konka
24f6c07653 std.macho: add OLD = 0 as valid mode for both arm64 and x86_64 2023-01-21 13:18:14 +01:00
Andrew Kelley
38eebf3c4d
Merge pull request #14392 from ziglang/zig-build-transitive-deps
std.build.LibExeObjStep: better handle transitive deps
2023-01-21 02:54:25 -05:00
Andrew Kelley
6d38dba72e std.build.LibExeObjStep: avoid putting static libs inside static libs 2023-01-20 19:31:38 -07:00
Andrew Kelley
7ea3937c5a std.build.LibExeObjStep: better handle transitive deps
* no longer repeat -lc on the linker line redundantly
 * when using linkLibrary() with a static library, it will now also put
   the static library's static library dependencies on the linker line,
   recursively.
 * refactor out a common pattern to an addFlag function
2023-01-20 16:58:31 -07:00
Jakub Konka
eb0c959b43 link-tests: update uuid test with new uuid values
Changes only pertain arm64 as for x86_64 turns out we are
missing one additional feature which is synthesising unwind info
from only eh frame records, or at least this is what it looks like
when I analysed the output of Apple's ld.
2023-01-20 21:27:57 +01:00
Jakub Konka
e0ccbff87d link-tests: test unwind info emitter via c++ exceptions 2023-01-20 20:57:40 +01:00
Jakub Konka
835a60a34f zld: parse, synthesise and emit unwind records 2023-01-20 18:43:16 +01:00
Jakub Konka
74b72a766d
Merge pull request #14386 from ziglang/macho-fixes
macho: fix nondeterministic failures in the macOS CI
2023-01-20 18:28:16 +01:00
Hardy
37fe41792c added test for bitcast signaled nan float
This was fixed by MR #14201

closes #10449
2023-01-20 16:42:24 +02:00
Jakub Konka
9f0cb763a4 macho: disable some log messages 2023-01-20 13:10:20 +01:00
Jakub Konka
9d2711a3d9 macho: use ArrayHashMap for tracking of dyld runtime metadata 2023-01-20 12:10:16 +01:00
Jakub Konka
e17c551a2e macho: revert ordering tweak of lazy bind pointers and add logging 2023-01-20 11:00:08 +01:00
Jakub Konka
dcdbfba770 macho: require an exclusive lock to the Cache.Manifest 2023-01-20 10:59:48 +01:00
Veikka Tuominen
fe6dcdba14
Merge pull request #14357 from kcbanner/llvm_byval_struct
llvm: implement Stdcall calling convention
2023-01-20 04:38:49 +02:00
mlugg
d3599ec73c std: implement os.mprotect on Windows 2023-01-20 03:33:35 +02:00
Jarred Sumner
a9eb463202 Make res nullable in getaddrinfo 2023-01-19 23:08:15 +02:00
山下
6c98c8d891
Wildcard certs should only validate one level of sub domain 2023-01-19 19:13:42 +00:00
Jakub Konka
989b0e620b
Merge pull request #14369 from ziglang/macho-dyld-ops
macho+zld: add improved dyld opcodes emitters
2023-01-19 19:49:51 +01:00
kcbanner
c1bdf01533 tests: disable c_abi tests for windows when compiling on linux 2023-01-19 13:06:21 -05:00
Manlio Perillo
efbb6128bb langref: always start code on a separate line in a syntax_block
In a syntax_block the code always start on a separate code, expect for
C, JavaScript, Peg and with Zig inline assembly.

Ensure that the code starts on a separate line, even in cases where
there is only one line.

Ensure that the end_syntax_block is always on a separate line and that
the indentation is consistent.
2023-01-19 19:10:01 +02:00
Marco Munizaga
d87a58dfab Add framework paths from NIX_CFLAGS_COMPILE 2023-01-19 16:57:55 +02:00
IntegratedQuantum
f38fd388f8
Mutex deadlock detection in debug
Add a debug implementation to Mutex that detects deadlocks caused by calling lock twice in a single thread.
2023-01-19 16:57:29 +02:00
star-tek-mb
116b770809 fix selectSymbol function pointers 2023-01-19 16:34:02 +02:00
Veikka Tuominen
2b7678bc42 llvm: implement Stdcall return types 2023-01-19 16:13:52 +02:00
Adrian Cole
7208e1ff87 wasm: avoids allocating zero length buffers for args or env
I was testing this with wazero, which defaults to not propagate any env
variables. This ensures we don't try to allocate zero length buffers
when there are no results from either function.

Signed-off-by: Adrian Cole <adrian@tetrate.io>
2023-01-19 15:34:38 +02:00
Jakub Konka
bcd16b2708 macho: fix ordering issue with lazy bind pointers 2023-01-19 14:06:47 +01:00
Jakub Konka
b2febd1ce7 macho: fix 32bit build 2023-01-19 09:53:18 +01:00
kcbanner
5949851074 llvm: pass non-scalars as byref in .Stdcall
- add c_abi tests for .Stdcall
- enable (x86|x86_64)-windows-gnu in the c_abi tests
2023-01-19 00:37:56 -05:00
Jakub Konka
c70a3d9022 macho: port arm64 and x86_64 compact unwind defs verbatim
We do not need more for the purpose of parsing and synthesising
unwind info by the linker. If we ever decide to generate unwind
info for Zig by the compiler, we can re-add packed struct defs
again.
2023-01-19 03:44:42 +01:00
Jakub Konka
069fe0d63f update CMakeLists.txt with new entries 2023-01-19 00:35:33 +01:00