Commit graph

81 commits

Author SHA1 Message Date
Linus Groh
79460d4a3e Remove uses of deprecated callconv aliases 2025-03-05 03:01:43 +00:00
Andrew Kelley
eb3c7f5706 zig build fmt 2025-02-22 17:09:20 -08:00
Alex Rønne Petersen
f87b443af1 link.MachO: Add support for the -x flag (discard local symbols).
This can also be extended to ELF later as it means roughly the same thing there.

This addresses the main issue in #21721 but as I don't have a macOS machine to
do further testing on, I can't confirm whether zig cc is able to pass the entire
cgo test suite after this commit. It can, however, cross-compile a basic program
that uses cgo to x86_64-macos-none which previously failed due to lack of -x
support. Unlike previously, the resulting symbol table does not contain local
symbols (such as C static functions).

I believe this satisfies the related donor bounty: https://ziglang.org/news/second-donor-bounty
2025-02-22 06:35:19 +01:00
mlugg
7408679234
compiler: disallow callconv etc from depending on function parameters
Resolves: #22261
2024-12-18 23:06:35 +00:00
Jakub Konka
33401ff3bb test/link/macho: test reporting undefined special symbols 2024-10-09 21:39:45 +02:00
mlugg
a3a737e9a6
lib,test,tools,doc: update usages of @export 2024-08-27 00:44:35 +01:00
Jakub Konka
fa79f53f92 test/macho: simplify testing range extension thunks 2024-08-22 00:36:47 +02:00
Jakub Konka
58defeeaa6 macho: test section$end$ boundary symbol handling 2024-07-28 06:59:21 +02:00
Jakub Konka
34f34dbe32 macho: reinstate duplicate definition checking 2024-07-18 09:13:09 +02:00
Jakub Konka
e117e05768 macho: ensure we always name decls like LLVM to avoid confusion 2024-07-18 09:13:08 +02:00
Jakub Konka
91de8dc8ab macho: fix unresolved symbols error reporting 2024-07-18 09:13:08 +02:00
Jakub Konka
f9fbd6302f macho: test TLS in Zig with x86_64 backend 2024-07-18 09:13:08 +02:00
Krzysztof Wolicki
45c77931c2 Change deprecated b.host to b.graph.host in tests and Zig's build.zig 2024-06-13 10:49:06 -04:00
Jakub Konka
19f41d390f test/link/macho: add symbol stabs smoke test 2024-05-24 22:43:23 +02:00
Jakub Konka
d31eb744ce link/macho: fix 32bit build 2024-05-23 12:04:17 +02:00
Jakub Konka
78b441e8de test/link/macho: test merge literals on x86_64 2024-05-23 12:04:17 +02:00
Jakub Konka
03d0a68356 test/link/macho: clean up merge literals tests on aarch64 2024-05-23 12:04:17 +02:00
Jakub Konka
28d08dd8a6 link/macho: test merging literals targeting ObjC 2024-05-23 12:04:17 +02:00
Jakub Konka
8fc0c7dce1 link/macho: apply fixes to deduping logic
* test non-ObjC literal deduping logic
2024-05-23 12:04:17 +02:00
Jakub Konka
d78968c1b5 test/link: actually run tests requiring symlinks on non-Win
Fixes regression introduced by 5d5e89aa8d

Turns out since landing that PR we haven't run any tests requiring
symlinks or any Apple SDK on a macOS host. Not great.
2024-05-22 14:59:32 +02:00
Andrew Kelley
b30ad74908 remove deprecated LazyPath.path union tag 2024-04-11 14:02:47 -07:00
Jakub Konka
d565c5dfcd macho: fix a sad typo in calculating the address of a TLV pointer 2024-03-15 08:17:10 +01:00
Jakub Konka
b1bd3825f8 test/link/macho: remove redundant 'macho-' prefix from case names 2024-03-12 13:16:11 +01:00
Tristan Ross
c260b4c753
std.builtin: make global linkage fields lowercase 2024-03-11 07:09:10 -07:00
Jakub Konka
d12c8db642
Merge pull request #18875 from ziglang/macho-zo-dwarf
macho: emit DWARF for ZigObject relocatable
2024-02-09 23:12:04 +01:00
Tristan Ross
2a3e601f77 test.link.macho: fix for non-x86 and arm architectures
This fix is requires to make the build runner even compile when building
Zig on architectures like RISC-V.
2024-02-09 17:49:53 +02:00
Jakub Konka
925273bcc8 macho: align memory size with file size when emitting relocatable 2024-02-09 00:20:11 +01:00
Jakub Konka
7388534590 test/link/macho: more self-hosted tests 2024-02-08 23:51:30 +01:00
Jakub Konka
7fb9df3fab test/link/macho: -fstrip is no longer needed for self-hosted 2024-02-08 22:15:00 +01:00
Jakub Konka
ca86dc61dd test/link/macho: test for signals only when running on the host 2024-02-03 19:36:52 +01:00
Jakub Konka
4ebd0036fd test/link/macho: add some smoke tests for self-hosted MachO 2024-02-03 17:57:35 +01:00
Jakub Konka
92deebcd66 cli+build: handle -ObjC flag and route it to MachO linker 2024-02-02 22:00:16 +01:00
Jakub Konka
f63f4508d2 macho: fix parsing versions from TBDs if parsed as floats 2024-01-30 20:56:20 +01:00
Jakub Konka
b8490c05c1 macho: improve weak-ref symbols handling 2024-01-30 13:56:08 +01:00
Jakub Konka
d726538494 test/link/macho: ensure we do not run testStackSize on foreign host 2024-01-24 12:34:42 +01:00
Jakub Konka
03b33b0f01 test/link/macho: migrate all tests to the new test matrix 2024-01-24 12:34:40 +01:00
Jakub Konka
2b3ac3e82f test/link/macho: upgrade tbdv3 test 2024-01-24 12:34:40 +01:00
Jakub Konka
a3f68c6fa2 test/link/macho: upgrade unwind info tests 2024-01-24 12:34:40 +01:00
Jakub Konka
d500caaa62 test/link/macho: test stacksize option 2024-01-24 12:34:40 +01:00
Jakub Konka
b70fedee7e test/link/macho: upgrade search strategy test 2024-01-24 12:34:40 +01:00
Jakub Konka
933231868a test/link/macho: test re-exports in zig 2024-01-24 12:34:40 +01:00
Jakub Konka
7bb323c0eb test/link/macho: test pagezero size 2024-01-24 12:34:40 +01:00
Jakub Konka
5c8acc551d test/link/macho: revert testing objc msgsend stubs - no way of enabling in clang 2024-01-24 12:34:40 +01:00
Jakub Konka
000598acc9 test/link/macho: test objc msgsend selector stubs 2024-01-24 12:34:40 +01:00
Jakub Konka
3d835dea2a test/link/macho: use .root_module. instead of wrappers where possible 2024-01-24 12:34:40 +01:00
Jakub Konka
abeb0e3ea4 test/link/macho: test force-loading objects containing ObjC from archives 2024-01-24 12:34:40 +01:00
Jakub Konka
7c65f0be37 test/link/macho: test no exports in a dylib 2024-01-24 12:34:40 +01:00
Jakub Konka
4cf94bb148 test/link/macho: test attribute "used" on vars in presence of dead_strip 2024-01-24 12:34:40 +01:00
Jakub Konka
4dc1907a88 test/link/macho: upgrade strict validation of layout test 2024-01-24 12:34:40 +01:00
Jakub Konka
a25b780aad test/link/macho: upgrade entry and entry in archive tests 2024-01-24 12:34:40 +01:00