| Age | Commit message (Collapse) | Author |
|
|
|
Automatic creation of `native_libc.txt` now occurs only in global
cache. Manual creation/placement into local cache is supported.
closes #3975
|
|
|
|
|
|
The new plan to support hobby operating systems is #3784.
And what kind of name is "Zen" anyway? There's already a
[Zen programming language](http://zenlang.sourceforge.net/)
and that's just confusing.
|
|
|
|
|
|
|
|
previously zig would look for all the .defs even when not needed,
wasting time. also, we only had samsrv definitions for some architectures.
remove cross compiling support for this.
|
|
|
|
|
|
Don't need no patched lld --kill-at behaviour now.
|
|
Use Mingw's .def files to build a .lib when possible and show an error
otherwise.
|
|
Lift some code from llvm-dlltool, the lld code is meant to follow what
gnu ld does but that's not much useful for our purposes.
Also use the `--kill-at` option when generating the .lib files out of
mingw's .def files: this way our building process closely matches the
one use by the upstream and now finally generates files that allow both
C code and Zig code to link.
|
|
|
|
Support Android NDK
|
|
|
|
|
|
There was a missing include path in the compilation line, leading to
incorrect fstat ABI.
closes #3291
|
|
|
|
|
|
|
|
|
|
See #3286. The issue is not fully solved however because this has
uncovered another issue.
|
|
|
|
|
|
* Reuse bytes of async function frames when non-async functions
make `noasync` calls. This prevents explosive stack growth.
* Zig now passes a stack size argument to the linker when linking ELF
binaries. Linux ignores this value, but it is available as a program
header called GNU_STACK. I prototyped some code that memory maps
extra space to the stack using this program header, but there was
still a problem when accessing stack memory very far down. Stack
probing is needed or not working or something. I also prototyped
using `@newStackCall` to call main and that does work around the
issue but it also brings its own issues. That code is commented out
for now in std/special/start.zig. I'm on a plane with no Internet,
but I plan to consult with the musl community for advice when I get a
chance.
* Added `noasync` to a bunch of function calls in std.debug. It's very
messy but it's a workaround that makes stack traces functional with
evented I/O enabled. Eventually these will be cleaned up as the root
bugs are found and fixed. Programs built in blocking mode are
unaffected.
* Lowered the default stack size of std.io.InStream (for the async
version) to 1 MiB instead of 4. Until we figure out how to get
choosing a stack size working (see 2nd bullet point above), 4 MiB
tends to cause segfaults due to stack size running out, or usage of
stack memory too far apart, or something like that.
* Default thread stack size is bumped from 8 MiB to 16 to match the
size we give for the main thread. It's planned to eventually remove
this hard coded value and have Zig able to determine this value
during semantic analysis, with call graph analysis and function
pointer annotations and extern function annotations.
|
|
|
|
* Add missing <stdint.h> include for uint8_t type declaration
* Add needed FreeBSD check to link to libpthread
* Apply patch to enable more tests in the FreeBSD CI
|
|
|
|
|
|
|
|
closes #3093
|
|
|
|
|
|
|
|
|
|
dimenus-msvc-libc-2064
|
|
|
|
|
|
also zig build handles --verbose and linkSystemLibrary better
|
|
* fixed --verbose-cc printing an extra "zig" before the rest of
the command line
* windows-gnu targets use libfoo.a, foo.o extensions to match mingw
conventions.
|
|
|
|
|
|
zig can now cross compile hello.c targeting windows
|
|
|
|
|
|
|
|
|
|
See #514
|