update musl libc.S to v1.2.5

adds loongarch64 and riscv32
This commit is contained in:
Andrew Kelley
2024-06-04 22:37:28 -07:00
parent 0098e650fb
commit 46b2f67905
2 changed files with 79 additions and 32 deletions

View File

@@ -30,7 +30,9 @@ const elf = std.elf;
const native_endian = @import("builtin").target.cpu.arch.endian();
const inputs = .{
.riscv32,
.riscv64,
.loongarch64,
.mips,
.mips64,
.x86,
@@ -581,15 +583,17 @@ fn parseElf(parse: Parse, comptime is_64: bool, comptime endian: builtin.Endian)
fn archIndex(arch: std.Target.Cpu.Arch) u8 {
return switch (arch) {
// zig fmt: off
.riscv64 => 0,
.mips => 1,
.mips64 => 2,
.x86 => 3,
.x86_64 => 4,
.powerpc => 5,
.powerpc64 => 6,
.aarch64 => 7,
else => unreachable,
.riscv64 => 0,
.mips => 1,
.mips64 => 2,
.x86 => 3,
.x86_64 => 4,
.powerpc => 5,
.powerpc64 => 6,
.aarch64 => 7,
.riscv32 => 8,
.loongarch64 => 9,
else => unreachable,
// zig fmt: on
};
}
@@ -597,15 +601,17 @@ fn archIndex(arch: std.Target.Cpu.Arch) u8 {
fn archMuslName(arch: std.Target.Cpu.Arch) []const u8 {
return switch (arch) {
// zig fmt: off
.riscv64 => "riscv64",
.mips => "mips",
.mips64 => "mips64",
.x86 => "i386",
.x86_64 => "x86_64",
.powerpc => "powerpc",
.powerpc64 => "powerpc64",
.aarch64 => "aarch64",
else => unreachable,
.riscv64 => "riscv64",
.mips => "mips",
.mips64 => "mips64",
.x86 => "i386",
.x86_64 => "x86_64",
.powerpc => "powerpc",
.powerpc64 => "powerpc64",
.aarch64 => "aarch64",
.riscv32 => "riscv32",
.loongarch64 => "loongarch64",
else => unreachable,
// zig fmt: on
};
}
@@ -693,6 +699,7 @@ const blacklisted_symbols = [_][]const u8{
"__ceilx",
"__clear_cache",
"__clzdi2",
"__chk_fail",
"__clzsi2",
"__clzti2",
"__cmpdf2",
@@ -844,6 +851,10 @@ const blacklisted_symbols = [_][]const u8{
"__ltsf2",
"__lttf2",
"__ltxf2",
"__memcpy_chk",
"__memmove_chk",
"__memset",
"__memset_chk",
"__moddi3",
"__modsi3",
"__modti3",
@@ -896,6 +907,10 @@ const blacklisted_symbols = [_][]const u8{
"__sinx",
"__sqrth",
"__sqrtx",
"__strcat_chk",
"__strcpy_chk",
"__strncat_chk",
"__strncpy_chk",
"__subdf3",
"__subkf3",
"__subodi4",
@@ -940,24 +955,47 @@ const blacklisted_symbols = [_][]const u8{
"__unordtf2",
"__zig_probe_stack",
"ceilf128",
"ceilq",
"cosf128",
"cosq",
"exp2f128",
"exp2q",
"expf128",
"expq",
"fabsf128",
"fabsq",
"fabsq.2",
"fabsq.3",
"floorf128",
"floorq",
"fmaf128",
"fmaq",
"fmaxf128",
"fmaxq",
"fmaxq.2",
"fmaxq.3",
"fminf128",
"fminq",
"fmodf128",
"fmodq",
"log10f128",
"log10q",
"log2f128",
"log2q",
"logf128",
"logq",
"roundf128",
"roundq",
"sincosf128",
"sincosq",
"sinf128",
"sinq",
"sqrtf128",
"sqrtq",
"tanf128",
"tanq",
"truncf128",
"truncq",
"__aarch64_cas16_acq",
"__aarch64_cas16_acq_rel",
"__aarch64_cas16_rel",