openbsd: link with required system libraries (#7380)

* openbsd: use -lpthread when linking

and while compiling zig stage2, use c++ and c++abi too
This commit is contained in:
Sebastien Marie 2020-12-15 20:45:48 +01:00 committed by GitHub
parent 8a2ab60fca
commit 7cd6c25c8f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 1 deletions

View file

@ -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.

View file

@ -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()) {