Go to file
Motiejus Jakštys 98138ba78c [MachO] add -pagezero_size
Pass `-pagezero_size` to the MachO linker. This is the final
"unsupported linker arg" that I could chase that CGo uses. After this
and #11874 we may be able to fail on an "unsupported linker arg" instead
of emiting a warning.

Test case:

    zig=/code/zig/build/zig
    CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 CC="$zig cc -target x86_64-macos" CXX="$zig c++ -target x86_64-macos" go build -a -ldflags "-s -w" cgo.go

I compiled a trivial CGo program and executed it on an amd64 Darwin
host.

To be honest, I am not entirely sure what this is doing. This feels
right after reading what this argument does in LLVM sources, but I am by
no means qualified to make MachO pull requests. Will take feedback.
2022-06-20 13:39:33 +02:00
.builds
.github github issue templates enhancements 2022-05-03 14:04:15 -07:00
ci macos: run test-cases single threaded in the CI 2022-06-19 21:08:53 +02:00
cmake cmake: add /usr/lib/llvm13 to searched paths 2022-05-05 02:51:48 -04:00
deps
doc Fix grammatical error 2022-05-27 01:00:15 -04:00
lib compiler-rt: fix logic for choosing __gnu_{f2h,h2f}_ieee 2022-06-19 15:12:08 +02:00
src [MachO] add -pagezero_size 2022-06-20 13:39:33 +02:00
test wasm: enable passing behavior tests 2022-06-19 17:27:56 +02:00
tools tools: fix update-linux-headers.zig and process_headers.zig 2022-06-06 15:53:53 +02:00
.gitattributes
.gitignore
build.zig multi-thread zig build test-cases 2022-06-14 17:15:13 -04:00
CMakeLists.txt stage2: rip out multi-compilation-unit compiler-rt 2022-06-17 18:34:11 -07:00
LICENSE
README.md

ZIG

A general-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

Resources

Installation

License

The ultimate goal of the Zig project is to serve users. As a first-order effect, this means users of the compiler, helping programmers to write better software. Even more important, however, are the end-users.

Zig is intended to be used to help end-users accomplish their goals. Zig should be used to empower end-users, never to exploit them financially, or to limit their freedom to interact with hardware or software in any way.

However, such problems are best solved with social norms, not with software licenses. Any attempt to complicate the software license of Zig would risk compromising the value Zig provides.

Therefore, Zig is available under the MIT (Expat) License, and comes with a humble request: use it to make software better serve the needs of end-users.

This project redistributes code from other projects, some of which have other licenses besides MIT. Such licenses are generally similar to the MIT license for practical purposes. See the subdirectories and files inside lib/ for more details.