Jacob Young
5900dc0580
x86_64: fix typos
2023-04-03 18:02:55 +02:00
Jacob Young
562170681a
link: cleanup lazy symbols
...
We now only update one lazy symbol in flushModule.
Updating the rest from updateDecl is TBD.
2023-04-03 18:02:53 +02:00
Jacob Young
f0d13489f8
Elf: add program headers for the program header table
2023-04-03 17:45:17 +02:00
Jacob Young
cd24ab7f6e
x86_64: canonicalise loops
2023-04-03 17:45:16 +02:00
Jacob Young
fde1ec5d0e
x86_64: remove returns from naked functions
2023-04-03 17:45:16 +02:00
Jacob Young
1980f5479b
x86_64: implement store to immediate address
2023-04-03 17:45:16 +02:00
Jacob Young
272acb7ee5
x86_64: implement storing large immediates
2023-04-03 17:45:16 +02:00
Jacob Young
f5f0d95f0e
x86_64: implement a more generic assembler for inline assembly
2023-04-03 17:45:16 +02:00
Jakub Konka
a329450aa4
Merge pull request #15160 from ziglang/link-cleanup
...
link: misc clean ups
2023-04-03 12:53:39 +02:00
Jakub Konka
72137824e5
macho: clean up code responsible for growing sections in file
2023-04-03 10:07:49 +02:00
Jakub Konka
ad8dfd3673
macho+coff: remove alignment from Atom as it is unused
2023-04-03 09:14:36 +02:00
Veikka Tuominen
a31450375e
Merge pull request #15134 from castholm/reverse-iterator
...
std.mem.reverseIterator: misc improvements
2023-04-02 18:06:55 +03:00
Jacob Young
f4b411314c
Sema: defer stores to inferred allocs
...
This lets us generate the store with knowledge of the type to be stored.
Therefore, we can avoid generating garbage Air with stores through
pointers to comptime-only types which backends cannot lower.
Closes #13410
Closes #15122
2023-04-02 18:05:44 +03:00
Jakub Konka
878163e588
Merge pull request #15140 from jacobly0/x86_64
...
x86_64: implement more stuff
2023-04-02 14:34:12 +02:00
Jacob Young
f4359531b1
x86_64: implement shl with overflow
2023-04-02 06:11:12 -04:00
Jacob Young
0e289cc826
x86_64: implement large add/sub with overflow
2023-04-02 05:16:46 -04:00
Jacob Young
c713c86389
x86_64: implement wide multiply
2023-04-02 04:49:53 -04:00
Jacob Young
b80cdde4f0
x86_64: implement struct_field_val for large packed structs
2023-04-02 04:49:53 -04:00
Jacob Young
83a208c355
x86_64: implement large cmp
2023-04-02 04:49:53 -04:00
Jacob Young
677427bc3a
x86_64: implement error name
2023-04-02 04:49:53 -04:00
Jacob Young
ccefa9dbf5
x86_64: implement calling var args functions
2023-04-02 04:49:53 -04:00
Jacob Young
ac68d72d24
x86_64: implement aggregate init of a packed struct
2023-04-02 04:49:53 -04:00
Jakub Konka
43a6384e9c
link-test: adjust test/link/bugs/macho/13056 to latest changes on macOS 13.3
...
Latest macOS 13.3 rolled out LLVM 15 and thus the way `nullptr_t` is
defined within the `libc++`:
157bbe6aea
This seems to require including `/usr/include` with `-isystem` directive
rather than `-I`. Otherwise we get clang miscompilation issues due to
missing `nullptr_t` declaration.
2023-04-02 10:18:43 +02:00
Jakub Konka
ab44b454d0
Merge pull request #15135 from ziglang/fix-15103
...
macho: handle cases where entrypoint is in an archive or dylib
2023-04-01 22:30:22 +02:00
Jakub Konka
e0bf7b6424
link-test: skip foreign checks in entry_in_archive MachO test
2023-04-01 20:02:33 +02:00
Jakub Konka
a88c0b4d08
link: handle -u flag in all linkers
...
Also clean up parsing of linker args - reuse `ArgsIterator`.
In MachO, ensure we add every symbol marked with `-u` as undefined
before proceeding with symbol resolution. Additionally, ensure those
symbols are never garbage collected.
MachO entry_in_dylib test: pass `-u _my_main` when linking executable
so that it is not incorrectly garbage collected by the linker.
2023-04-01 14:22:44 +02:00
Jakub Konka
2dd178443a
macho: do not assume entrypoint is defined
2023-04-01 14:22:44 +02:00
Jakub Konka
5d0bb50e3d
link-test: add test for entry in a dynamic library for MachO
2023-04-01 14:22:44 +02:00
Jakub Konka
3874df839d
link-test: add test for entry in a static archive for MachO
2023-04-01 14:22:44 +02:00
Jakub Konka
6f83a741d8
macho: handle weird case of entrypoint being a stub
2023-04-01 14:22:44 +02:00
Jakub Konka
f2587de4e9
macho: look for entry in archives/dylibs too
2023-04-01 14:22:44 +02:00
Jakub Konka
381dc2d950
Merge pull request #15139 from ziglang/macos-13-fixes
...
Fixes for latest macOS 13.3 SDK release
2023-04-01 14:22:29 +02:00
Jakub Konka
a0a854b1fc
libc: update macOS libSystem.13.tbd
2023-04-01 08:33:13 +02:00
Jakub Konka
ab2b70f6c1
tapi: update to latest Apple changes
2023-04-01 08:31:27 +02:00
Jakub Konka
9ea04f4f1c
tapi: update yaml parser
...
5de8b0b3a2
2023-04-01 08:31:16 +02:00
Jakub Konka
575a98a081
Merge pull request #15130 from ziglang/macos-13.3
...
macos: update to latest libc headers macOS SDK 13.3
2023-04-01 08:23:13 +02:00
Carl Åstholm
3cd72951c0
std.mem.reverseIterator: add nextPtr()
2023-03-31 22:50:31 +02:00
Carl Åstholm
0bbc1ec206
std.mem.reverseIterator: accept pointer to array
2023-03-31 22:48:32 +02:00
Jakub Konka
f6845bbbc6
std: bump max macOS version to 13.3
2023-03-31 21:22:30 +02:00
Jakub Konka
26c88e4f45
libc: update macOS libc headers to latest SDK 13.3
2023-03-31 21:20:47 +02:00
Loris Cro
9cb2919d50
Merge pull request #15127 from der-teufel-programming/autodoc_newbuiltins
...
autodoc: Add new builtins to Autodoc
2023-03-31 17:30:09 +02:00
Loris Cro
ab2c602f34
Merge pull request #14823 from der-teufel-programming/autodoc-quickfixes
...
autodoc: Add struct to tryResolveRefPath
2023-03-31 17:26:55 +02:00
Jakub Konka
23cf44c227
libc: add missing sys/timex.h to macOS libc headers
2023-03-31 12:36:38 +02:00
Krzysztof Wolicki
b69578e19c
autodoc: add new builtins
2023-03-31 11:47:14 +02:00
Krzysztof Wolicki
652b005f9b
autodoc: fix Extended builtin functions names rendering
2023-03-31 11:47:14 +02:00
Jakub Konka
5b82b40043
Merge pull request #15125 from ziglang/hcs-win-poc
...
coff: add hot-code swapping PoC
2023-03-31 00:38:30 +02:00
jagt
c964e10821
docgen: add additional_option token; fix wasm-freestanding example
...
- Fix usage string `--skip-code-test` to `--skip-code-tests`.
- Added a token `{#additonal_option|-rdynamic#}` which introduce arbitrary flag to `build-exe/obj/lib` example.
- Fix wasm freestanding example, it now needs explicit export symbols to work.
2023-03-30 22:56:33 +03:00
Jakub Konka
908ccce064
coff: enable hot-code swapping on a compatible host only
2023-03-30 21:24:49 +02:00
Jakub Konka
ee0c445765
coff: due to ASLR we need to dupe the code for relocating
...
In addition, we need to be careful not to mark the relocations as
resolved prematurely as then we are risking malforming the binary
as we need to resolve the relocs twice: once for in-memory writes,
and once for in-file updates.
2023-03-30 21:08:32 +02:00
Jakub Konka
349349fa01
std: simplify VirtualProtectEx and fix ntdll signature
2023-03-30 21:08:31 +02:00