aboutsummaryrefslogtreecommitdiff
path: root/src/link.cpp
AgeCommit message (Collapse)Author
2020-01-23link: update to llvm 10 APIAndrew Kelley
2020-01-15stage1: move local native_libc.txt to globalMichael Dusan
Automatic creation of `native_libc.txt` now occurs only in global cache. Manual creation/placement into local cache is supported. closes #3975
2020-01-07add --eh-frame-hdr conditionallyDavid Cao
2020-01-07add --eh-frame-hdr arg for linkingDavid Cao
2019-12-02remove upstream support for Zen hobby OSAndrew Kelley
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.
2019-10-30DragonFlyBSD supportTse
2019-10-22integrate stage1 progress display with semantic analysisAndrew Kelley
2019-10-17rework the progress module and integrate with stage1Andrew Kelley
2019-10-16only look for .defs when needed; remove samsrv.dll cross compiling supportAndrew Kelley
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.
2019-10-16add more cross compiling support for windows system dllsAndrew Kelley
2019-10-16add cross compiling support for opengl32.dllAndrew Kelley
2019-10-12Add dlltool functionalityLemonBoy
Don't need no patched lld --kill-at behaviour now.
2019-10-11Fix cross-compilation to i386-windows-msvcLemonBoy
Use Mingw's .def files to build a .lib when possible and show an error otherwise.
2019-10-10Patch lld to have a more sensible kill-at implementationLemonBoy
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.
2019-10-09Compile the architecture-specific mingw sourcesLemonBoy
2019-09-28Merge pull request #3331 from meme/android-ndkAndrew Kelley
Support Android NDK
2019-09-28minor tweaksmeme
2019-09-28do not link against gcc runtime on Android targetmeme
2019-09-27fix glibc builds on aarch64-linux-gnuAndrew Kelley
There was a missing include path in the compilation line, leading to incorrect fstat ABI. closes #3291
2019-09-27fix building static Android executablesmeme
2019-09-27support Android NDK and bionicmeme
2019-09-26Export _start as __start for MIPS targetsLemonBoy
2019-09-26Initial support for mipsel architecture¬LemonBoy
2019-09-25fix building musl on eabihf abis, incorrect include dirsAndrew Kelley
See #3286. The issue is not fully solved however because this has uncovered another issue.
2019-09-22silence nonportable include path warnings when building glibc on windowsAndrew Kelley
2019-09-15Merge remote-tracking branch 'origin/master' into llvm9Andrew Kelley
2019-09-12improvements targeted at improving async functionsAndrew Kelley
* 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.
2019-09-10Merge remote-tracking branch 'origin/master' into llvm9Andrew Kelley
2019-09-10Get more of the tests passing for FreeBSD (#3197)stratact
* 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
2019-09-02Merge remote-tracking branch 'origin/master' into llvm9Andrew Kelley
2019-09-02add ability to specify darwin framework search dirsAndrew Kelley
2019-08-20Merge branch 'master' into llvm9Andrew Kelley
2019-08-19don't put libc on the elf linker line for objectsAndrew Kelley
closes #3093
2019-07-18improvements to riscv supportAndrew Kelley
2019-07-17update zig codebase to llvm 9Andrew Kelley
2019-07-16libc headers before C language headers, and disable libunwind on arm32Andrew Kelley
2019-07-16update bundled musl source to 1.1.23Andrew Kelley
2019-07-16Merge branch 'msvc-libc-2064' of https://github.com/dimenus/zig into ↵Andrew Kelley
dimenus-msvc-libc-2064
2019-07-15mingw libc can link against ntdllAndrew Kelley
2019-07-12mingw libc: delete dead linker code regarding using system libcAndrew Kelley
2019-07-12handle mingw libc defs betterAndrew Kelley
also zig build handles --verbose and linkSystemLibrary better
2019-07-12mingw libc: solve the segfault having to do with destructorsAndrew Kelley
* 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.
2019-07-10fix windows not able to build mingwAndrew Kelley
2019-07-10add some more windows defsAndrew Kelley
2019-07-10mingw: build and link mingwex.libAndrew Kelley
zig can now cross compile hello.c targeting windows
2019-07-10fixing non system library linkingdimenus
2019-07-10mingw: building and linking msvcrt-os.libAndrew Kelley
2019-07-10mingw: building and linking mingw32.libAndrew Kelley
2019-07-10resolved #2064 & fixed hello_world libc builddimenus
2019-07-09ship with mingw-w64 v6.0.0Andrew Kelley
See #514