mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
compiler-rt: More accurately export Windows Arm functions.
This commit is contained in:
parent
8ba3812eee
commit
05a877a9a1
@ -15,11 +15,11 @@ comptime {
|
|||||||
@export(&__aeabi_unwind_cpp_pr1, .{ .name = "__aeabi_unwind_cpp_pr1", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_unwind_cpp_pr1, .{ .name = "__aeabi_unwind_cpp_pr1", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
@export(&__aeabi_unwind_cpp_pr2, .{ .name = "__aeabi_unwind_cpp_pr2", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_unwind_cpp_pr2, .{ .name = "__aeabi_unwind_cpp_pr2", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
|
|
||||||
@export(&__aeabi_ldivmod, .{ .name = if (target.isMinGW()) "__rt_sdiv64" else "__aeabi_ldivmod", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_ldivmod, .{ .name = if (common.want_windows_arm_abi) "__rt_sdiv64" else "__aeabi_ldivmod", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
@export(&__aeabi_uldivmod, .{ .name = if (target.isMinGW()) "__rt_udiv64" else "__aeabi_uldivmod", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_uldivmod, .{ .name = if (common.want_windows_arm_abi) "__rt_udiv64" else "__aeabi_uldivmod", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
|
|
||||||
@export(&__aeabi_idivmod, .{ .name = if (target.isMinGW()) "__rt_sdiv" else "__aeabi_idivmod", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_idivmod, .{ .name = if (common.want_windows_arm_abi) "__rt_sdiv" else "__aeabi_idivmod", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
@export(&__aeabi_uidivmod, .{ .name = if (target.isMinGW()) "__rt_udiv" else "__aeabi_uidivmod", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_uidivmod, .{ .name = if (common.want_windows_arm_abi) "__rt_udiv" else "__aeabi_uidivmod", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
|
|
||||||
@export(&__aeabi_memcpy, .{ .name = "__aeabi_memcpy", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_memcpy, .{ .name = "__aeabi_memcpy", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
@export(&__aeabi_memcpy4, .{ .name = "__aeabi_memcpy4", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_memcpy4, .{ .name = "__aeabi_memcpy4", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
|
|||||||
@ -9,11 +9,13 @@ else if (ofmt_c)
|
|||||||
.strong
|
.strong
|
||||||
else
|
else
|
||||||
.weak;
|
.weak;
|
||||||
|
|
||||||
/// Determines the symbol's visibility to other objects.
|
/// Determines the symbol's visibility to other objects.
|
||||||
/// For WebAssembly this allows the symbol to be resolved to other modules, but will not
|
/// For WebAssembly this allows the symbol to be resolved to other modules, but will not
|
||||||
/// export it to the host runtime.
|
/// export it to the host runtime.
|
||||||
pub const visibility: std.builtin.SymbolVisibility =
|
pub const visibility: std.builtin.SymbolVisibility =
|
||||||
if (builtin.target.isWasm() and linkage != .internal) .hidden else .default;
|
if (builtin.target.isWasm() and linkage != .internal) .hidden else .default;
|
||||||
|
|
||||||
pub const want_aeabi = switch (builtin.abi) {
|
pub const want_aeabi = switch (builtin.abi) {
|
||||||
.eabi,
|
.eabi,
|
||||||
.eabihf,
|
.eabihf,
|
||||||
@ -29,7 +31,9 @@ pub const want_aeabi = switch (builtin.abi) {
|
|||||||
},
|
},
|
||||||
else => false,
|
else => false,
|
||||||
};
|
};
|
||||||
pub const want_mingw_arm_abi = builtin.cpu.arch.isArm() and builtin.target.isMinGW();
|
|
||||||
|
/// These functions are provided by libc when targeting MSVC, but not MinGW.
|
||||||
|
pub const want_windows_arm_abi = builtin.cpu.arch.isArm() and builtin.os.tag == .windows and (builtin.abi.isGnu() or !builtin.link_libc);
|
||||||
|
|
||||||
pub const want_ppc_abi = builtin.cpu.arch.isPowerPC();
|
pub const want_ppc_abi = builtin.cpu.arch.isPowerPC();
|
||||||
|
|
||||||
|
|||||||
@ -8,11 +8,7 @@ comptime {
|
|||||||
if (common.want_aeabi) {
|
if (common.want_aeabi) {
|
||||||
@export(&__aeabi_d2lz, .{ .name = "__aeabi_d2lz", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_d2lz, .{ .name = "__aeabi_d2lz", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
} else {
|
} else {
|
||||||
@export(&__fixdfdi, .{ .name = "__fixdfdi", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__fixdfdi, .{ .name = if (common.want_windows_arm_abi) "__dtoi64" else "__fixdfdi", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
|
|
||||||
if (common.want_mingw_arm_abi) {
|
|
||||||
@export(&__fixdfdi, .{ .name = "__dtoi64", .linkage = common.linkage, .visibility = common.visibility });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,11 +8,7 @@ comptime {
|
|||||||
if (common.want_aeabi) {
|
if (common.want_aeabi) {
|
||||||
@export(&__aeabi_f2lz, .{ .name = "__aeabi_f2lz", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_f2lz, .{ .name = "__aeabi_f2lz", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
} else {
|
} else {
|
||||||
@export(&__fixsfdi, .{ .name = "__fixsfdi", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__fixsfdi, .{ .name = if (common.want_windows_arm_abi) "__stoi64" else "__fixsfdi", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
|
|
||||||
if (common.want_mingw_arm_abi) {
|
|
||||||
@export(&__fixsfdi, .{ .name = "__stoi64", .linkage = common.linkage, .visibility = common.visibility });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,11 +8,7 @@ comptime {
|
|||||||
if (common.want_aeabi) {
|
if (common.want_aeabi) {
|
||||||
@export(&__aeabi_d2ulz, .{ .name = "__aeabi_d2ulz", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_d2ulz, .{ .name = "__aeabi_d2ulz", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
} else {
|
} else {
|
||||||
@export(&__fixunsdfdi, .{ .name = "__fixunsdfdi", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__fixunsdfdi, .{ .name = if (common.want_windows_arm_abi) "__dtou64" else "__fixunsdfdi", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
|
|
||||||
if (common.want_mingw_arm_abi) {
|
|
||||||
@export(&__fixunsdfdi, .{ .name = "__dtou64", .linkage = common.linkage, .visibility = common.visibility });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,11 +8,7 @@ comptime {
|
|||||||
if (common.want_aeabi) {
|
if (common.want_aeabi) {
|
||||||
@export(&__aeabi_f2ulz, .{ .name = "__aeabi_f2ulz", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_f2ulz, .{ .name = "__aeabi_f2ulz", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
} else {
|
} else {
|
||||||
@export(&__fixunssfdi, .{ .name = "__fixunssfdi", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__fixunssfdi, .{ .name = if (common.want_windows_arm_abi) "__stou64" else "__fixunssfdi", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
|
|
||||||
if (common.want_mingw_arm_abi) {
|
|
||||||
@export(&__fixunssfdi, .{ .name = "__stou64", .linkage = common.linkage, .visibility = common.visibility });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,11 +8,7 @@ comptime {
|
|||||||
if (common.want_aeabi) {
|
if (common.want_aeabi) {
|
||||||
@export(&__aeabi_l2d, .{ .name = "__aeabi_l2d", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_l2d, .{ .name = "__aeabi_l2d", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
} else {
|
} else {
|
||||||
@export(&__floatdidf, .{ .name = "__floatdidf", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__floatdidf, .{ .name = if (common.want_windows_arm_abi) "__i64tod" else "__floatdidf", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
|
|
||||||
if (common.want_mingw_arm_abi) {
|
|
||||||
@export(&__floatdidf, .{ .name = "__i64tod", .linkage = common.linkage, .visibility = common.visibility });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,11 +8,7 @@ comptime {
|
|||||||
if (common.want_aeabi) {
|
if (common.want_aeabi) {
|
||||||
@export(&__aeabi_l2f, .{ .name = "__aeabi_l2f", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_l2f, .{ .name = "__aeabi_l2f", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
} else {
|
} else {
|
||||||
@export(&__floatdisf, .{ .name = "__floatdisf", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__floatdisf, .{ .name = if (common.want_windows_arm_abi) "__i64tos" else "__floatdisf", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
|
|
||||||
if (common.want_mingw_arm_abi) {
|
|
||||||
@export(&__floatdisf, .{ .name = "__i64tos", .linkage = common.linkage, .visibility = common.visibility });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,11 +8,7 @@ comptime {
|
|||||||
if (common.want_aeabi) {
|
if (common.want_aeabi) {
|
||||||
@export(&__aeabi_ul2d, .{ .name = "__aeabi_ul2d", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_ul2d, .{ .name = "__aeabi_ul2d", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
} else {
|
} else {
|
||||||
@export(&__floatundidf, .{ .name = "__floatundidf", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__floatundidf, .{ .name = if (common.want_windows_arm_abi) "__u64tod" else "__floatundidf", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
|
|
||||||
if (common.want_mingw_arm_abi) {
|
|
||||||
@export(&__floatundidf, .{ .name = "__u64tod", .linkage = common.linkage, .visibility = common.visibility });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -8,11 +8,7 @@ comptime {
|
|||||||
if (common.want_aeabi) {
|
if (common.want_aeabi) {
|
||||||
@export(&__aeabi_ul2f, .{ .name = "__aeabi_ul2f", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__aeabi_ul2f, .{ .name = "__aeabi_ul2f", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
} else {
|
} else {
|
||||||
@export(&__floatundisf, .{ .name = "__floatundisf", .linkage = common.linkage, .visibility = common.visibility });
|
@export(&__floatundisf, .{ .name = if (common.want_windows_arm_abi) "__u64tos" else "__floatundisf", .linkage = common.linkage, .visibility = common.visibility });
|
||||||
|
|
||||||
if (common.want_mingw_arm_abi) {
|
|
||||||
@export(&__floatundisf, .{ .name = "__u64tos", .linkage = common.linkage, .visibility = common.visibility });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user