authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-02-03 17:34:55+01:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2025-02-03 17:34:55+01:00
loge61acd8eb563d3c233202ef3a1a63df384d09943
treeaeba0f914c2084f966028e900f087929bea4cecc
parent7ac110ac250aff4144efa2e29e4ab6610e851514
parent1c288ee857cc98a3cd5065790f1df4590e4c132d
signaturebadge-check Signed by PGP key B5690EEEBB952194

Merge pull request #22713 from mikdusan/openbsd

openbsd: fix stage3 link

2 files changed, 16 insertions(+), 21 deletions(-)

build.zig+9-14
...@@ -791,24 +791,19 @@ fn addCmakeCfgOptionsToExe(...@@ -791,24 +791,19 @@ fn addCmakeCfgOptionsToExe(
791 if (target.abi != .msvc) mod.link_libcpp = true;791 if (target.abi != .msvc) mod.link_libcpp = true;
792 },792 },
793 .freebsd => {793 .freebsd => {
794 if (static) {794 try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{lib_suffix}), null, need_cpp_includes);
795 try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{lib_suffix}), null, need_cpp_includes);795 if (static) try addCxxKnownPath(b, cfg, exe, b.fmt("libgcc_eh.{s}", .{lib_suffix}), null, need_cpp_includes);
796 try addCxxKnownPath(b, cfg, exe, b.fmt("libgcc_eh.{s}", .{lib_suffix}), null, need_cpp_includes);
797 } else {
798 try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{lib_suffix}), null, need_cpp_includes);
799 }
800 },796 },
801 .openbsd => {797 .openbsd => {
802 try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{lib_suffix}), null, need_cpp_includes);798 // - llvm requires libexecinfo which has conflicting symbols with libc++abi
803 try addCxxKnownPath(b, cfg, exe, b.fmt("libc++abi.{s}", .{lib_suffix}), null, need_cpp_includes);799 // - only an issue with .a linking
800 // - workaround is to link c++abi dynamically
801 try addCxxKnownPath(b, cfg, exe, b.fmt("libc++.{s}", .{target.dynamicLibSuffix()[1..]}), null, need_cpp_includes);
802 try addCxxKnownPath(b, cfg, exe, b.fmt("libc++abi.{s}", .{target.dynamicLibSuffix()[1..]}), null, need_cpp_includes);
804 },803 },
805 .netbsd, .dragonfly => {804 .netbsd, .dragonfly => {
806 if (static) {805 try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes);
807 try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes);806 if (static) try addCxxKnownPath(b, cfg, exe, b.fmt("libgcc_eh.{s}", .{lib_suffix}), null, need_cpp_includes);
808 try addCxxKnownPath(b, cfg, exe, b.fmt("libgcc_eh.{s}", .{lib_suffix}), null, need_cpp_includes);
809 } else {
810 try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes);
811 }
812 },807 },
813 .solaris, .illumos => {808 .solaris, .illumos => {
814 try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes);809 try addCxxKnownPath(b, cfg, exe, b.fmt("libstdc++.{s}", .{lib_suffix}), null, need_cpp_includes);
lib/std/Target.zig+7-7
...@@ -528,13 +528,13 @@ pub const Os = struct {...@@ -528,13 +528,13 @@ pub const Os = struct {
528 .freebsd => .{528 .freebsd => .{
529 .semver = .{529 .semver = .{
530 .min = .{ .major = 12, .minor = 0, .patch = 0 },530 .min = .{ .major = 12, .minor = 0, .patch = 0 },
531 .max = .{ .major = 14, .minor = 1, .patch = 0 },531 .max = .{ .major = 14, .minor = 2, .patch = 0 },
532 },532 },
533 },533 },
534 .netbsd => .{534 .netbsd => .{
535 .semver = .{535 .semver = .{
536 .min = .{ .major = 8, .minor = 0, .patch = 0 },536 .min = .{ .major = 8, .minor = 0, .patch = 0 },
537 .max = .{ .major = 10, .minor = 0, .patch = 0 },537 .max = .{ .major = 10, .minor = 1, .patch = 0 },
538 },538 },
539 },539 },
540 .openbsd => .{540 .openbsd => .{
...@@ -553,31 +553,31 @@ pub const Os = struct {...@@ -553,31 +553,31 @@ pub const Os = struct {
553 .macos => .{553 .macos => .{
554 .semver = .{554 .semver = .{
555 .min = .{ .major = 13, .minor = 0, .patch = 0 },555 .min = .{ .major = 13, .minor = 0, .patch = 0 },
556 .max = .{ .major = 15, .minor = 2, .patch = 0 },556 .max = .{ .major = 15, .minor = 3, .patch = 0 },
557 },557 },
558 },558 },
559 .ios => .{559 .ios => .{
560 .semver = .{560 .semver = .{
561 .min = .{ .major = 12, .minor = 0, .patch = 0 },561 .min = .{ .major = 12, .minor = 0, .patch = 0 },
562 .max = .{ .major = 18, .minor = 1, .patch = 0 },562 .max = .{ .major = 18, .minor = 3, .patch = 0 },
563 },563 },
564 },564 },
565 .tvos => .{565 .tvos => .{
566 .semver = .{566 .semver = .{
567 .min = .{ .major = 13, .minor = 0, .patch = 0 },567 .min = .{ .major = 13, .minor = 0, .patch = 0 },
568 .max = .{ .major = 18, .minor = 1, .patch = 0 },568 .max = .{ .major = 18, .minor = 3, .patch = 0 },
569 },569 },
570 },570 },
571 .visionos => .{571 .visionos => .{
572 .semver = .{572 .semver = .{
573 .min = .{ .major = 1, .minor = 0, .patch = 0 },573 .min = .{ .major = 1, .minor = 0, .patch = 0 },
574 .max = .{ .major = 2, .minor = 1, .patch = 0 },574 .max = .{ .major = 2, .minor = 3, .patch = 0 },
575 },575 },
576 },576 },
577 .watchos => .{577 .watchos => .{
578 .semver = .{578 .semver = .{
579 .min = .{ .major = 6, .minor = 0, .patch = 0 },579 .min = .{ .major = 6, .minor = 0, .patch = 0 },
580 .max = .{ .major = 11, .minor = 1, .patch = 0 },580 .max = .{ .major = 11, .minor = 3, .patch = 0 },
581 },581 },
582 },582 },
583583