Skip to content

Commit 030abfa

Browse files
committed
minor tweaks
1 parent 0c55609 commit 030abfa

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

src/link.cpp

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1653,7 +1653,7 @@ static void construct_linker_job_elf(LinkJob *lj) {
16531653
soname = buf_sprintf("lib%s.so.%" ZIG_PRI_usize, buf_ptr(g->root_out_name), g->version_major);
16541654
}
16551655

1656-
if (target_requires_pie(g->zig_target) && !is_dyn_lib && g->libc != nullptr) {
1656+
if (target_requires_pie(g->zig_target) && g->out_type == OutTypeExe) {
16571657
lj->args.append("-pie");
16581658
}
16591659

@@ -1665,13 +1665,13 @@ static void construct_linker_job_elf(LinkJob *lj) {
16651665
if (g->zig_target->os == OsNetBSD) {
16661666
crt1o = "crt0.o";
16671667
} else if (target_is_android(g->zig_target)) {
1668-
crt1o = "crtbegin_dynamic.o";
1669-
} else if (!g->have_dynamic_link) {
1670-
if (target_is_android(g->zig_target)) {
1671-
crt1o = "crtbegin.o";
1668+
if (g->have_dynamic_link) {
1669+
crt1o = "crtbegin_dynamic.o";
16721670
} else {
1673-
crt1o = "crt1.o";
1671+
crt1o = "crtbegin_static.o";
16741672
}
1673+
} else if (!g->have_dynamic_link) {
1674+
crt1o = "crt1.o";
16751675
} else {
16761676
crt1o = "Scrt1.o";
16771677
}
@@ -1821,10 +1821,12 @@ static void construct_linker_job_elf(LinkJob *lj) {
18211821
}
18221822

18231823
// crt end
1824-
if (target_is_android(g->zig_target) && g->libc != nullptr) {
1825-
lj->args.append(get_libc_crt_file(g, "crtend_android.o"));
1826-
} else if (lj->link_in_crt && target_libc_needs_crti_crtn(g->zig_target)) {
1827-
lj->args.append(get_libc_crt_file(g, "crtn.o"));
1824+
if (lj->link_in_crt) {
1825+
if (target_is_android(g->zig_target)) {
1826+
lj->args.append(get_libc_crt_file(g, "crtend_android.o"));
1827+
} else if (target_libc_needs_crti_crtn(g->zig_target)) {
1828+
lj->args.append(get_libc_crt_file(g, "crtn.o"));
1829+
}
18281830
}
18291831

18301832
if (!g->zig_target->is_native) {

0 commit comments

Comments
 (0)