aboutsummaryrefslogtreecommitdiff
path: root/src/link.cpp
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-02-18 00:10:31 -0500
committerGitHub <noreply@github.com>2019-02-18 00:10:31 -0500
commit3e586264e5295be87f13c34904ff9b61a95ded16 (patch)
tree4f20f7fab5d7a4f754c65c6034240a5396b98a24 /src/link.cpp
parent39207fa1d46ccaf55de80e1afd89fbccca6a73e7 (diff)
parentb93405c24bd3c58f68a272f32fe764a994e7aae6 (diff)
downloadzig-3e586264e5295be87f13c34904ff9b61a95ded16.tar.gz
zig-3e586264e5295be87f13c34904ff9b61a95ded16.zip
Merge pull request #1972 from coypoop/netbsd
Add NetBSD support
Diffstat (limited to 'src/link.cpp')
-rw-r--r--src/link.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/link.cpp b/src/link.cpp
index 58221a99ea..956e5b6bfc 100644
--- a/src/link.cpp
+++ b/src/link.cpp
@@ -198,6 +198,9 @@ static Buf *get_dynamic_linker_path(CodeGen *g) {
if (g->zig_target.os == OsFreeBSD) {
return buf_create_from_str("/libexec/ld-elf.so.1");
}
+ if (g->zig_target.os == OsNetBSD) {
+ return buf_create_from_str("/libexec/ld.elf_so");
+ }
if (g->is_native_target && g->zig_target.arch.arch == ZigLLVM_x86_64) {
static const char *ld_names[] = {
"ld-linux-x86-64.so.2",
@@ -263,10 +266,13 @@ static void construct_linker_job_elf(LinkJob *lj) {
if (lj->link_in_crt) {
const char *crt1o;
const char *crtbegino;
- if (g->is_static) {
+ if (g->zig_target.os == OsNetBSD) {
+ crt1o = "crt0.o";
+ crtbegino = "crtbegin.o";
+ } else if (g->is_static) {
crt1o = "crt1.o";
crtbegino = "crtbeginT.o";
- } else {
+ } else {
crt1o = "Scrt1.o";
crtbegino = "crtbegin.o";
}