mirror of
https://github.com/ziglang/zig.git
synced 2026-01-31 03:33:37 +00:00
Merge pull request #12629 from motiejus/libresolv-abilists
glibc/abilists: add libresolv stubs
This commit is contained in:
commit
aa4544963c
Binary file not shown.
@ -41,29 +41,7 @@ pub const libs = [_]Lib{
|
||||
.{ .name = "rt", .sover = 1 },
|
||||
.{ .name = "ld", .sover = 2 },
|
||||
.{ .name = "util", .sover = 1 },
|
||||
};
|
||||
|
||||
// glibc's naming of Zig architectures
|
||||
const Arch = enum(c_int) {
|
||||
arm,
|
||||
armeb,
|
||||
aarch64,
|
||||
aarch64_be,
|
||||
mips,
|
||||
mipsel,
|
||||
mips64,
|
||||
mips64el,
|
||||
powerpc,
|
||||
powerpc64,
|
||||
powerpc64le,
|
||||
riscv32,
|
||||
riscv64,
|
||||
sparc,
|
||||
sparcv9,
|
||||
sparcel,
|
||||
s390x,
|
||||
i386,
|
||||
x86_64,
|
||||
.{ .name = "resolv", .sover = 2 },
|
||||
};
|
||||
|
||||
pub const LoadMetaDataError = error{
|
||||
@ -157,7 +135,7 @@ pub fn loadMetaData(gpa: Allocator, zig_lib_dir: fs.Dir) LoadMetaDataError!*ABI
|
||||
log.err("abilists: expected ABI name", .{});
|
||||
return error.ZigInstallationCorrupt;
|
||||
};
|
||||
const arch_tag = std.meta.stringToEnum(Arch, arch_name) orelse {
|
||||
const arch_tag = std.meta.stringToEnum(std.Target.Cpu.Arch, arch_name) orelse {
|
||||
log.err("abilists: unrecognized arch: '{s}'", .{arch_name});
|
||||
return error.ZigInstallationCorrupt;
|
||||
};
|
||||
@ -171,7 +149,7 @@ pub fn loadMetaData(gpa: Allocator, zig_lib_dir: fs.Dir) LoadMetaDataError!*ABI
|
||||
};
|
||||
|
||||
targets[i] = .{
|
||||
.arch = glibcToZigArch(arch_tag),
|
||||
.arch = arch_tag,
|
||||
.os = .linux,
|
||||
.abi = abi_tag,
|
||||
};
|
||||
@ -1139,30 +1117,6 @@ fn buildSharedLib(
|
||||
try sub_compilation.updateSubCompilation();
|
||||
}
|
||||
|
||||
fn glibcToZigArch(arch_tag: Arch) std.Target.Cpu.Arch {
|
||||
return switch (arch_tag) {
|
||||
.arm => .arm,
|
||||
.armeb => .armeb,
|
||||
.aarch64 => .aarch64,
|
||||
.aarch64_be => .aarch64_be,
|
||||
.mips => .mips,
|
||||
.mipsel => .mipsel,
|
||||
.mips64 => .mips64,
|
||||
.mips64el => .mips64el,
|
||||
.powerpc => .powerpc,
|
||||
.powerpc64 => .powerpc64,
|
||||
.powerpc64le => .powerpc64le,
|
||||
.riscv32 => .riscv32,
|
||||
.riscv64 => .riscv64,
|
||||
.sparc => .sparc,
|
||||
.sparcv9 => .sparc64, // In glibc, sparc64 is called sparcv9.
|
||||
.sparcel => .sparcel,
|
||||
.s390x => .s390x,
|
||||
.i386 => .i386,
|
||||
.x86_64 => .x86_64,
|
||||
};
|
||||
}
|
||||
|
||||
// Return true if glibc has crti/crtn sources for that architecture.
|
||||
pub fn needsCrtiCrtn(target: std.Target) bool {
|
||||
return switch (target.cpu.arch) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user