Commit 7cd6c25c8f

Sebastien Marie <semarie@users.noreply.github.com>
2020-12-15 20:45:48
openbsd: link with required system libraries (#7380)
* openbsd: use -lpthread when linking and while compiling zig stage2, use c++ and c++abi too
1 parent 8a2ab60
Changed files (2)
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()) {
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.