diff --git a/build.zig b/build.zig index 3ea4424d1b52..f649b36d3456 100644 --- a/build.zig +++ b/build.zig @@ -168,6 +168,9 @@ pub fn build(b: *Builder) !void { } else if (exe.target.isFreeBSD()) { try addCxxKnownPath(b, cfg, exe, "libc++.a", null, need_cpp_includes); exe.linkSystemLibrary("pthread"); + } else if (exe.target.getOsTag() == .openbsd) { + try addCxxKnownPath(b, cfg, exe, "libc++.a", null, need_cpp_includes); + try addCxxKnownPath(b, cfg, exe, "libc++abi.a", null, need_cpp_includes); } else if (exe.target.isDarwin()) { if (addCxxKnownPath(b, cfg, exe, "libgcc_eh.a", "", need_cpp_includes)) { // Compiler is GCC. diff --git a/src/link/Elf.zig b/src/link/Elf.zig index 852b51ece1b0..a112629b79ce 100644 --- a/src/link/Elf.zig +++ b/src/link/Elf.zig @@ -1584,7 +1584,7 @@ fn linkWithLLD(self: *Elf, comp: *Compilation) !void { try argv.append("-lm"); } - if (target.os.tag == .freebsd or target.os.tag == .netbsd) { + if (target.os.tag == .freebsd or target.os.tag == .netbsd or target.os.tag == .openbsd) { try argv.append("-lpthread"); } } else if (target.isGnuLibC()) {