aboutsummaryrefslogtreecommitdiff
path: root/src/link.cpp
AgeCommit message (Collapse)Author
2020-04-26add CLI option -Bsymbolic for binding global references locallyAndrew Kelley
2020-04-08zig provides shlwapi.lib for *-windows-gnuAndrew Kelley
closes #3711
2020-04-06provide ___mb_cur_max_func for i386-windows-gnuAndrew Kelley
2020-04-06zig cc: recognize a few more linker optionsAndrew Kelley
* `--major-image-version` * `--minor-image-version` * `--stack`
2020-04-05zig uses mingw-w64 to provide -lpsapiAndrew Kelley
2020-04-05use mingw-w64 to provide -luuid if requestedAndrew Kelley
2020-04-02zig cc: support more linker argsAndrew Kelley
2020-04-01fixups and revert a few thingsAndrew Kelley
2020-04-01Use length field as passed in stage2 libc_installation instead of relying on ↵daurnimator
zero termination
2020-03-31fixes to 32-bit handling, to support 32-bit armAndrew Kelley
2020-03-30linking: remove check for target_supports_libunwindAndrew Kelley
I'm not sure why this was ever there. Maybe it was working around a problem with LLVM 9. Anyway this fixes linking C++ code for 32 bit arm and riscv.
2020-03-29linking is now aware -lm is provided by mingw-w64Andrew Kelley
2020-03-28Merge pull request #4835 from squeek502/export-dynamicAndrew Kelley
-rdynamic/--export-dynamic fixes
2020-03-27Fix -rdynamic not sending --export-dynamic to the ELF linkerRyan Liptak
2020-03-27zig c++: get it working with musl and mingw-w64Andrew Kelley
2020-03-26ability to compile c++ hello world with `zig c++`Andrew Kelley
closes #4786
2020-03-25improved handling of native system directoriesAndrew Kelley
* `-isystem` instead of `-I` for system include directories fixes a problem with native system directories interfering with zig's bundled libc. * separate Stage2Target.is_native into Stage2Target.is_native_os and Stage2Target.is_native_cpu.
2020-03-25Merge pull request #4793 from LemonBoy/netbsd-foreverAndrew Kelley
Netbsd forever
2020-03-23stage1: Link pthread on NetBSDLemonBoy
2020-03-22Merge remote-tracking branch 'origin/master' into llvm10Andrew Kelley
2020-03-22Merge remote-tracking branch 'origin/master' into llvm10Andrew Kelley
2020-03-21ability to use `zig cc` as a drop-in C compilerAndrew Kelley
The basics are working
2020-03-20glibc: include ld symbols and proper soname for ldAndrew Kelley
2020-03-19Merge remote-tracking branch 'origin/master' into llvm10Andrew Kelley
2020-03-14fix mismatch between expected and actual output nameAndrew Kelley
2020-03-13Merge remote-tracking branch 'origin/master' into llvm10Andrew Kelley
2020-03-12stage1: update musl libc building code for v1.2.0Andrew Kelley
2020-03-07Merge remote-tracking branch 'origin/master' into llvm10Andrew Kelley
2020-03-05update mingw-w64 source files to v7.0.0Andrew Kelley
2020-03-03Merge remote-tracking branch 'origin/master' into llvm10Andrew Kelley
2020-02-28dynamic_linker becomes a field of std.zig.CrossTargetAndrew Kelley
2020-02-28remove special darwin os version min handlingAndrew Kelley
now it is integrated with zig's target OS range.
2020-02-25Merge remote-tracking branch 'origin/master' into llvm10Andrew Kelley
2020-02-18improvements which allow zig to emit multiple things at onceAndrew Kelley
example: zig build-obj test.zig -femit-llvm-ir -femit-asm this will generate all three: test.o test.s test.ll
2020-02-16self-hosted libc detectionAndrew Kelley
* libc_installation.cpp is deleted. src-self-hosted/libc_installation.zig is now used for both stage1 and stage2 compilers. * (breaking) move `std.fs.File.access` to `std.fs.Dir.access`. The API now encourages use with an open directory handle. * Add `std.os.faccessat` and related functions. * Deprecate the "C" suffix naming convention for null-terminated parameters. "C" should be used when it is related to libc. However null-terminated parameters often have to do with the native system ABI rather than libc. "Z" suffix is the new convention. For example, `std.os.openC` is deprecated in favor of `std.os.openZ`. * Add `std.mem.dupeZ` for using an allocator to copy memory and add a null terminator. * Remove dead struct field `std.ChildProcess.llnode`. * Introduce `std.event.Batch`. This API allows expressing concurrency without forcing code to be async. It requires no Allocator and does not introduce any failure conditions. However it is not thread-safe. * There is now an ongoing experiment to transition away from `std.event.Group` in favor of `std.event.Batch`. * `std.os.execvpeC` calls `getenvZ` rather than `getenv`. This is slightly more efficient on most systems, and works around a limitation of `getenv` lack of integration with libc. * (breaking) `std.os.AccessError` gains `FileBusy`, `SymLinkLoop`, and `ReadOnlyFileSystem`. Previously these error codes were all reported as `PermissionDenied`. * Add `std.Target.isDragonFlyBSD`. * stage2: access to the windows_sdk functions is done with a manually maintained .zig binding file instead of `@cImport`. * Update src-self-hosted/libc_installation.zig with all the improvements that stage1 has seen to src/libc_installation.cpp until now. In addition, it now takes advantage of Batch so that evented I/O mode takes advantage of concurrency, but it still works in blocking I/O mode, which is how it is used in stage1.
2020-02-14Merge remote-tracking branch 'origin/master' into llvm10Andrew Kelley
2020-02-12Fix a UAF when verbose-llvm-ir is specifiedLemonBoy
The g->module is long gone when codegen_link is called.
2020-02-10stage1: memory/report overhaulMichael Dusan
- split util_base.hpp from util.hpp - new namespaces: `mem` and `heap` - new `mem::Allocator` interface - new `heap::CAllocator` impl with global `heap::c_allocator` - new `heap::ArenaAllocator` impl - new `mem::TypeInfo` extracts names without RTTI - name extraction is enabled w/ ZIG_ENABLE_MEM_PROFILE=1 - new `mem::List` takes explicit `Allocator&` parameter - new `mem::HashMap` takes explicit `Allocator&` parameter - add Codegen.pass1_arena and use for all `ZigValue` allocs - deinit Codegen.pass1_arena early in `zig_llvm_emit_output()`
2020-02-10Merge remote-tracking branch 'origin/master' into llvm10Andrew Kelley
2020-02-07Add wWinMain and wWinMainCRTStartup to fix #4376Jared Miller
2020-01-29Merge remote-tracking branch 'origin/master' into llvm10Andrew Kelley
2020-01-28Build compiler_rt/c with optimizations if possibleLemonBoy
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