| author | |
| committer | |
| log | 6408766d6b55d228a305b877f28f45c1587f7d39 |
| tree | 6a573105b8919570493ade6706426cb6d1101ea5 |
| parent | 9e7ae062492d4b41564832d37408336e36165e67 |
| signature |
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.3 files changed, 2 insertions(+), 20 deletions(-)
src/link.cpp+2-6| ... | ... | @@ -1947,15 +1947,11 @@ static void construct_linker_job_elf(LinkJob *lj) { |
| 1947 | 1947 | lj->args.append("-lpthread"); |
| 1948 | 1948 | } |
| 1949 | 1949 | } else if (target_is_glibc(g->zig_target)) { |
| 1950 | if (target_supports_libunwind(g->zig_target)) { | |
| 1951 | lj->args.append(build_libunwind(g, lj->build_dep_prog_node)); | |
| 1952 | } | |
| 1950 | lj->args.append(build_libunwind(g, lj->build_dep_prog_node)); | |
| 1953 | 1951 | add_glibc_libs(lj); |
| 1954 | 1952 | lj->args.append(get_libc_crt_file(g, "libc_nonshared.a", lj->build_dep_prog_node)); |
| 1955 | 1953 | } else if (target_is_musl(g->zig_target)) { |
| 1956 | if (target_supports_libunwind(g->zig_target)) { | |
| 1957 | lj->args.append(build_libunwind(g, lj->build_dep_prog_node)); | |
| 1958 | } | |
| 1954 | lj->args.append(build_libunwind(g, lj->build_dep_prog_node)); | |
| 1959 | 1955 | lj->args.append(build_musl(g, lj->build_dep_prog_node)); |
| 1960 | 1956 | } else if (g->libcpp_link_lib != nullptr) { |
| 1961 | 1957 | lj->args.append(build_libunwind(g, lj->build_dep_prog_node)); |
src/target.cpp-13| ... | ... | @@ -1295,19 +1295,6 @@ const char *target_arch_musl_name(ZigLLVM_ArchType arch) { |
| 1295 | 1295 | } |
| 1296 | 1296 | } |
| 1297 | 1297 | |
| 1298 | bool target_supports_libunwind(const ZigTarget *target) { | |
| 1299 | switch (target->arch) { | |
| 1300 | case ZigLLVM_arm: | |
| 1301 | case ZigLLVM_armeb: | |
| 1302 | case ZigLLVM_riscv32: | |
| 1303 | case ZigLLVM_riscv64: | |
| 1304 | return false; | |
| 1305 | default: | |
| 1306 | return true; | |
| 1307 | } | |
| 1308 | return true; | |
| 1309 | } | |
| 1310 | ||
| 1311 | 1298 | bool target_libc_needs_crti_crtn(const ZigTarget *target) { |
| 1312 | 1299 | if (target->arch == ZigLLVM_riscv32 || target->arch == ZigLLVM_riscv64 || target_is_android(target)) { |
| 1313 | 1300 | return false; |
src/target.hpp-1| ... | ... | @@ -119,7 +119,6 @@ bool target_supports_stack_probing(const ZigTarget *target); |
| 119 | 119 | bool target_supports_sanitize_c(const ZigTarget *target); |
| 120 | 120 | bool target_has_debug_info(const ZigTarget *target); |
| 121 | 121 | const char *target_arch_musl_name(ZigLLVM_ArchType arch); |
| 122 | bool target_supports_libunwind(const ZigTarget *target); | |
| 123 | 122 | |
| 124 | 123 | uint32_t target_arch_pointer_bit_width(ZigLLVM_ArchType arch); |
| 125 | 124 | uint32_t target_arch_largest_atomic_bits(ZigLLVM_ArchType arch); |