aboutsummaryrefslogtreecommitdiff
path: root/src/link.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2017-02-03 15:53:23 -0500
committerAndrew Kelley <superjoe30@gmail.com>2017-02-03 15:53:23 -0500
commitd3f1889951fa37332f67556a0a253128a710f23c (patch)
treebeb3cfeba275b09216290a8a5bde4a18bafdeb8c /src/link.cpp
parent5a86c0499694d4dafa3af97c6b26860714bc8983 (diff)
downloadzig-d3f1889951fa37332f67556a0a253128a710f23c.tar.gz
zig-d3f1889951fa37332f67556a0a253128a710f23c.zip
in freestanding environment, assume gnu binutils
for now. soon LLD will free us from depending on system linkers.
Diffstat (limited to 'src/link.cpp')
-rw-r--r--src/link.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/link.cpp b/src/link.cpp
index 93b6e65ca1..6c12f0ef47 100644
--- a/src/link.cpp
+++ b/src/link.cpp
@@ -687,8 +687,11 @@ static void construct_linker_job_darwin(LinkJob *lj) {
static void construct_linker_job(LinkJob *lj) {
switch (lj->codegen->zig_target.os) {
- case ZigLLVM_UnknownOS:
- zig_unreachable();
+ case ZigLLVM_UnknownOS: // freestanding
+ // TODO we want to solve this problem with LLD, but for now let's
+ // assume gnu binutils
+ // http://lists.llvm.org/pipermail/llvm-dev/2017-February/109835.html
+ return construct_linker_job_linux(lj);
case ZigLLVM_Linux:
if (lj->codegen->zig_target.arch.arch == ZigLLVM_hexagon) {
zig_panic("TODO construct hexagon_TC linker job");