diff --git a/lib/compiler_rt/divtc3.zig b/lib/compiler_rt/divtc3.zig index d5b1d1205996aaf677451a2e242845fe25dc44b2..592681607de3d0fcc15b288d4393f618e583d032 100644 --- a/lib/compiler_rt/divtc3.zig +++ b/lib/compiler_rt/divtc3.zig @@ -4,7 +4,11 @@ const Complex = @import("./mulc3.zig").Complex; comptime { if (@import("builtin").zig_backend != .stage2_c) { - @export(__divtc3, .{ .name = "__divtc3", .linkage = common.linkage, .visibility = common.visibility }); + if (common.want_ppc_abi) { + @export(__divtc3, .{ .name = "__divkc3", .linkage = common.linkage, .visibility = common.visibility }); + } else { + @export(__divtc3, .{ .name = "__divtc3", .linkage = common.linkage, .visibility = common.visibility }); + } } } diff --git a/lib/compiler_rt/fixtfti.zig b/lib/compiler_rt/fixtfti.zig index 03d861f92e3c19709f94a0f8e27d8a5a1b01f0ee..957df1dd5e3c0aeea760349fd3698d1ff996990c 100644 --- a/lib/compiler_rt/fixtfti.zig +++ b/lib/compiler_rt/fixtfti.zig @@ -7,6 +7,8 @@ pub const panic = common.panic; comptime { if (common.want_windows_v2u64_abi) { @export(__fixtfti_windows_x86_64, .{ .name = "__fixtfti", .linkage = common.linkage, .visibility = common.visibility }); + } else if (common.want_ppc_abi) { + @export(__fixtfti, .{ .name = "__fixkfti", .linkage = common.linkage, .visibility = common.visibility }); } else { @export(__fixtfti, .{ .name = "__fixtfti", .linkage = common.linkage, .visibility = common.visibility }); } diff --git a/lib/compiler_rt/fixunstfti.zig b/lib/compiler_rt/fixunstfti.zig index 72b529e0c90a4045b9b8ec216087daa8fb4da998..b77bbb668977cc6d3b53ea96445bc87e4ab51701 100644 --- a/lib/compiler_rt/fixunstfti.zig +++ b/lib/compiler_rt/fixunstfti.zig @@ -7,6 +7,8 @@ pub const panic = common.panic; comptime { if (common.want_windows_v2u64_abi) { @export(__fixunstfti_windows_x86_64, .{ .name = "__fixunstfti", .linkage = common.linkage, .visibility = common.visibility }); + } else if (common.want_ppc_abi) { + @export(__fixunstfti, .{ .name = "__fixunskfti", .linkage = common.linkage, .visibility = common.visibility }); } else { @export(__fixunstfti, .{ .name = "__fixunstfti", .linkage = common.linkage, .visibility = common.visibility }); } diff --git a/lib/compiler_rt/floattitf.zig b/lib/compiler_rt/floattitf.zig index 62c215c986ff098a025a5aa68bd352a7eeb97195..32cc8d49b5ac60f9bff71d251a981afc365ad23c 100644 --- a/lib/compiler_rt/floattitf.zig +++ b/lib/compiler_rt/floattitf.zig @@ -7,6 +7,8 @@ pub const panic = common.panic; comptime { if (common.want_windows_v2u64_abi) { @export(__floattitf_windows_x86_64, .{ .name = "__floattitf", .linkage = common.linkage, .visibility = common.visibility }); + } else if (common.want_ppc_abi) { + @export(__floattitf, .{ .name = "__floattikf", .linkage = common.linkage, .visibility = common.visibility }); } else { @export(__floattitf, .{ .name = "__floattitf", .linkage = common.linkage, .visibility = common.visibility }); } diff --git a/lib/compiler_rt/multc3.zig b/lib/compiler_rt/multc3.zig index 89054e4af8160685d6ef880dd49c14490f98d457..cb2ea8f106673c84755028fa8d7d4b2ef0cfe6a1 100644 --- a/lib/compiler_rt/multc3.zig +++ b/lib/compiler_rt/multc3.zig @@ -5,7 +5,11 @@ pub const panic = common.panic; comptime { if (@import("builtin").zig_backend != .stage2_c) { - @export(__multc3, .{ .name = "__multc3", .linkage = common.linkage, .visibility = common.visibility }); + if (common.want_ppc_abi) { + @export(__multc3, .{ .name = "__mulkc3", .linkage = common.linkage, .visibility = common.visibility }); + } else { + @export(__multc3, .{ .name = "__multc3", .linkage = common.linkage, .visibility = common.visibility }); + } } } diff --git a/lib/compiler_rt/negtf2.zig b/lib/compiler_rt/negtf2.zig index 46d498ab973366a3bbf1d08f97532466aa11d1ab..6332d44ccf3379cc44bd8b53178cb4ae631b8584 100644 --- a/lib/compiler_rt/negtf2.zig +++ b/lib/compiler_rt/negtf2.zig @@ -3,7 +3,11 @@ const common = @import("./common.zig"); pub const panic = common.panic; comptime { - @export(__negtf2, .{ .name = "__negtf2", .linkage = common.linkage, .visibility = common.visibility }); + if (common.want_ppc_abi) { + @export(__negtf2, .{ .name = "__negkf2", .linkage = common.linkage, .visibility = common.visibility }); + } else { + @export(__negtf2, .{ .name = "__negtf2", .linkage = common.linkage, .visibility = common.visibility }); + } } fn __negtf2(a: f128) callconv(.C) f128 { diff --git a/lib/compiler_rt/powiXf2.zig b/lib/compiler_rt/powiXf2.zig index 581dd4a90904566d0e7e76e7202ba89b108a3cfd..6cb80c959eb0fc2eead3de8141d174971ab5e666 100644 --- a/lib/compiler_rt/powiXf2.zig +++ b/lib/compiler_rt/powiXf2.zig @@ -13,7 +13,11 @@ comptime { @export(__powihf2, .{ .name = "__powihf2", .linkage = common.linkage, .visibility = common.visibility }); @export(__powisf2, .{ .name = "__powisf2", .linkage = common.linkage, .visibility = common.visibility }); @export(__powidf2, .{ .name = "__powidf2", .linkage = common.linkage, .visibility = common.visibility }); - @export(__powitf2, .{ .name = "__powitf2", .linkage = common.linkage, .visibility = common.visibility }); + if (common.want_ppc_abi) { + @export(__powitf2, .{ .name = "__powikf2", .linkage = common.linkage, .visibility = common.visibility }); + } else { + @export(__powitf2, .{ .name = "__powitf2", .linkage = common.linkage, .visibility = common.visibility }); + } @export(__powixf2, .{ .name = "__powixf2", .linkage = common.linkage, .visibility = common.visibility }); } diff --git a/tools/gen_stubs.zig b/tools/gen_stubs.zig index 95787b719a7dc7be152433faa4848e6f05daab11..5d6b0acbd6d86fa18184742580df6fd2ee1703ec 100644 --- a/tools/gen_stubs.zig +++ b/tools/gen_stubs.zig @@ -703,6 +703,7 @@ const blacklisted_symbols = [_][]const u8{ "__fixdfti", "__fixkfdi", "__fixkfsi", + "__fixkfti", "__fixsfdi", "__fixsfsi", "__fixsfti", @@ -714,6 +715,7 @@ const blacklisted_symbols = [_][]const u8{ "__fixunsdfti", "__fixunskfdi", "__fixunskfsi", + "__fixunskfti", "__fixunssfdi", "__fixunssfsi", "__fixunssfti", @@ -737,6 +739,7 @@ const blacklisted_symbols = [_][]const u8{ "__floatsitf", "__floatsixf", "__floattidf", + "__floattikf", "__floattisf", "__floattitf", "__floattixf", @@ -802,6 +805,7 @@ const blacklisted_symbols = [_][]const u8{ "__muldc3", "__muldf3", "__muldi3", + "__mulkc3", "__mulkf3", "__mulodi4", "__mulosi4", @@ -835,6 +839,7 @@ const blacklisted_symbols = [_][]const u8{ "__popcountti2", "__powidf2", "__powihf2", + "__powikf2", "__powisf2", "__powitf2", "__powixf2",