authorgravatar for meme@users.noreply.github.commeme <meme@users.noreply.github.com> 2019-09-28 13:21:29-04:00
committergravatar for meme@users.noreply.github.commeme <meme@users.noreply.github.com> 2019-09-28 13:21:29-04:00
log030abfa0d2a95fb5cb9da61c59bb8332c65f8819
treeb2b4122799ba50d4bd09b6e219ea4fa26db0821b
parent0c556095f40bfd935bf1c1c8a638b7bc8dfcfb8a

minor tweaks


1 files changed, 12 insertions(+), 10 deletions(-)

src/link.cpp+12-10
...@@ -1653,7 +1653,7 @@ static void construct_linker_job_elf(LinkJob *lj) {...@@ -1653,7 +1653,7 @@ static void construct_linker_job_elf(LinkJob *lj) {
1653 soname = buf_sprintf("lib%s.so.%" ZIG_PRI_usize, buf_ptr(g->root_out_name), g->version_major);1653 soname = buf_sprintf("lib%s.so.%" ZIG_PRI_usize, buf_ptr(g->root_out_name), g->version_major);
1654 }1654 }
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) {
1657 lj->args.append("-pie");1657 lj->args.append("-pie");
1658 }1658 }
16591659
...@@ -1665,13 +1665,13 @@ static void construct_linker_job_elf(LinkJob *lj) {...@@ -1665,13 +1665,13 @@ static void construct_linker_job_elf(LinkJob *lj) {
1665 if (g->zig_target->os == OsNetBSD) {1665 if (g->zig_target->os == OsNetBSD) {
1666 crt1o = "crt0.o";1666 crt1o = "crt0.o";
1667 } else if (target_is_android(g->zig_target)) {1667 } else if (target_is_android(g->zig_target)) {
1668 crt1o = "crtbegin_dynamic.o";1668 if (g->have_dynamic_link) {
1669 } else if (!g->have_dynamic_link) {1669 crt1o = "crtbegin_dynamic.o";
1670 if (target_is_android(g->zig_target)) {
1671 crt1o = "crtbegin.o";
1672 } else {1670 } else {
1673 crt1o = "crt1.o";1671 crt1o = "crtbegin_static.o";
1674 }1672 }
1673 } else if (!g->have_dynamic_link) {
1674 crt1o = "crt1.o";
1675 } else {1675 } else {
1676 crt1o = "Scrt1.o";1676 crt1o = "Scrt1.o";
1677 }1677 }
...@@ -1821,10 +1821,12 @@ static void construct_linker_job_elf(LinkJob *lj) {...@@ -1821,10 +1821,12 @@ static void construct_linker_job_elf(LinkJob *lj) {
1821 }1821 }
18221822
1823 // crt end1823 // crt end
1824 if (target_is_android(g->zig_target) && g->libc != nullptr) {1824 if (lj->link_in_crt) {
1825 lj->args.append(get_libc_crt_file(g, "crtend_android.o"));1825 if (target_is_android(g->zig_target)) {
1826 } else if (lj->link_in_crt && target_libc_needs_crti_crtn(g->zig_target)) {1826 lj->args.append(get_libc_crt_file(g, "crtend_android.o"));
1827 lj->args.append(get_libc_crt_file(g, "crtn.o"));1827 } else if (target_libc_needs_crti_crtn(g->zig_target)) {
1828 lj->args.append(get_libc_crt_file(g, "crtn.o"));
1829 }
1828 }1830 }
18291831
1830 if (!g->zig_target->is_native) {1832 if (!g->zig_target->is_native) {