Jacob Young
dd66e0addb
Sema: fix empty slice pointer value
...
We just checked that inst_child_ty was effectively a zero-bit type, so
it is certainly not the non-zero alignment we are looking for.
Closes #15085
2023-03-28 23:12:19 +03:00
Jakub Konka
2b80552603
Merge pull request #14771 from kcbanner/coff_dynamicbase
...
Allow dynamicbase to be disabled by CompileStep
2023-03-28 20:18:25 +02:00
Jakub Konka
43487eb3ef
Merge pull request #15102 from ziglang/fix-15075
...
coff: handle multiple DLLs
2023-03-28 18:28:48 +02:00
Jakub Konka
1c5f255789
tests: enable multi-threaded x86_64-windows tests with self-hosted
2023-03-28 15:49:26 +02:00
Jakub Konka
70838d34aa
coff: assert the imports table is not dirty
2023-03-28 14:17:12 +02:00
Jakub Konka
db877df8eb
coff: move import table definition into a separate ImportTable.zig module
2023-03-28 14:13:39 +02:00
Tw
5d63d1115f
bpf: add missing *const for helper functions
...
Signed-off-by: Tw <tw19881113@gmail.com>
2023-03-28 14:30:12 +03:00
Jakub Konka
fb3345e346
coff: do not use atoms for synthetic import address table
...
Instead, introduce a custom ImportTable structure which will
act as a thunk in the MachO linker, and we will use that to
calculate the address of a pointer on-the-fly.
Additionally, fix logic in writeImportTables to allow for multiple
DLLs.
2023-03-28 13:28:48 +02:00
Jakub Konka
2a5c4ea8f0
coff: repurpose value field of import Symbol for lib_name offset
2023-03-28 12:28:49 +02:00
Jakub Konka
0dc210f950
link: pass expected lib name as hint in getGlobalSymbol()
2023-03-28 12:28:48 +02:00
Jakub Konka
d2040b2763
coff: grow .idata if required
2023-03-28 12:28:48 +02:00
Jakub Konka
28d6dd75ac
Merge pull request #15087 from jacobly0/x86-debug-mir
...
x86_64: misc fixes
2023-03-27 16:20:27 +02:00
Jacob Young
fd13e44e0c
x86_64: cleanup debug mir dumping
2023-03-27 05:58:00 -04:00
Jacob Young
802c2e4fae
x86_64: fix popcnt and disable regressed test
2023-03-27 05:58:00 -04:00
Jacob Young
6c54428415
x86_64: implement trunc with large source
2023-03-27 05:58:00 -04:00
Jacob Young
587eacefec
x86_64: fix 64-bit multiply by 32-bit immediate
2023-03-27 05:58:00 -04:00
Jacob Young
65838fcabe
x86_64: implement some binary ops for large values
2023-03-27 05:58:00 -04:00
Jacob Young
3a516433b0
x86_64: add live codegen debug
2023-03-27 05:58:00 -04:00
Jacob Young
abb37a7cb8
x86_64: factor out lowering from emitting
2023-03-27 05:58:00 -04:00
Jacob Young
0e5e001278
std.MultiArrayList: add set and get to Slice
2023-03-27 05:58:00 -04:00
Jacob Young
86625c5a75
x86_64: enable mem dst bin ops, and fix uncovered bugs
2023-03-27 04:31:39 -04:00
David CARLIER
1de64dba23
std: add the VM_MAKE_TAG macro for darwin.
2023-03-26 23:56:27 +02:00
kcbanner
43ff6c14f9
main: recognize --dynamicbase
2023-03-26 13:10:36 -04:00
Jakub Konka
32591c1d99
Merge pull request #15076 from jacobly0/x86_64-backend
...
x86_64: implement things
2023-03-26 17:31:42 +02:00
Veikka Tuominen
4a5628e730
Module: fix lazy srcloc resolution for new for loop syntax
...
Closes #15081
2023-03-26 15:14:03 +03:00
Jakub Konka
3a7fe0d010
Merge pull request #15077 from ziglang/update-macos-headers
...
libc: update macos headers
2023-03-26 08:41:38 +02:00
Jacob Young
65f77878b4
std: remove temporary workarounds for stage2_x86_64
...
These seem to work great now.
2023-03-25 21:32:55 -04:00
Jacob Young
14c0b8c548
x86_64: remove unused Mir encodings
...
This also restores the size of Mir.Inst and simplifies logic in general.
2023-03-25 21:26:18 -04:00
Jakub Konka
59a67e9a43
libc: update macOS libSystem stubs
2023-03-25 21:38:35 +01:00
kcbanner
4569a28ea3
build: fixes from review
2023-03-25 16:33:25 -04:00
Jakub Konka
1b97881e38
libc: update macOS libc headers
2023-03-25 21:27:47 +01:00
kcbanner
c79073c176
compilation: fixup linker_dynamicbase default in InitOptions
2023-03-25 16:26:48 -04:00
kcbanner
113f80bcf7
coff: change dynamicbase to default to true (to match lld), change it to pass the negation to lld, and add --no-dynamicbase
...
build: expose linker_dynamicbase on CompileStep and map it to emit --no-dynamicbase
2023-03-25 16:26:48 -04:00
Jacob Young
a80be15cd4
behavior: disable multi threaded for the stage2_x86_64 windows target
...
See #15075 for more details.
2023-03-25 16:23:55 -04:00
Jacob Young
d29c674d0d
x86_64: implement teb inline assembly for windows
2023-03-25 16:23:55 -04:00
Jacob Young
1e080e5056
x86_64: implement atomic loops
2023-03-25 16:23:55 -04:00
Jacob Young
6d9bdc8733
x86_64: fix cmpxchg
2023-03-25 16:23:55 -04:00
Jacob Young
a2f6e068b0
x86_64: implement 128-bit intcast
2023-03-25 16:23:55 -04:00
Jacob Young
d064cf639f
x86_64: implement 128-bit shifts
2023-03-25 16:23:55 -04:00
Jacob Young
77300c02d6
x86_64: implement large ptr_elem_val
2023-03-25 16:23:55 -04:00
Jacob Young
8f385e77ca
x86_64: implement struct_field_val for packed containers
2023-03-25 16:23:55 -04:00
Jacob Young
0cfc0d0d13
x86_64: implement struct_field_ptr for packed containers
2023-03-25 16:23:55 -04:00
Jacob Young
d9ce69dc39
codegen: fix ptr-like optional constants
2023-03-25 16:23:55 -04:00
Jacob Young
3ece975857
x86_64: implement saturating arithmetic
2023-03-25 16:23:55 -04:00
Marc Tiehuis
37f6f7990e
enable more float-parsing tests
...
Since removing the stage1 backend we no longer have a disagreement here.
2023-03-25 14:09:00 +02:00
Jay Petacat
fcc86832d6
std.enums.IndexedSet: Add initOne and initMany
2023-03-25 13:28:25 +02:00
Jakub Konka
49e33a2f23
Merge pull request #15052 from jacobly0/x86-val-tracking
...
x86_64: fix value tracking bugs
2023-03-25 08:34:57 +01:00
tjog
f6a2b72ba8
std.process.Child: implement maxrss on Darwin
...
Notably the Darwin (XNU) kernel the maxrss field is number of bytes
and not kilobytes (kibibytes) like other platforms (e.g. Linux, BSD).
watchOS and tvOS are not supported because they do not have the ability
to spawn a child process. iOS is enabled but due to OS sandboxing it
should fail with a permission error.
2023-03-25 03:20:50 +01:00
Jacob Young
4ab4bd04fe
x86_64: add back assume unused
...
This seems to have been asserting due to a value tracking bug that has
since been fixed.
2023-03-24 21:34:38 -04:00
Jacob Young
0987ed1970
x86_64: detect canonicalisation hazards
2023-03-24 17:57:58 -04:00