diff --git a/src/Compilation.zig b/src/Compilation.zig index 46fb5e575d..87d4c4c41e 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -2903,7 +2903,17 @@ fn detectLibCIncludeDirs( if (target_util.canBuildLibC(target)) { const generic_name = target_util.libCGenericName(target); // Some architectures are handled by the same set of headers. - const arch_name = if (target.abi.isMusl()) target_util.archMuslName(target.cpu.arch) else @tagName(target.cpu.arch); + const arch_name = if (target.abi.isMusl()) + target_util.archMuslName(target.cpu.arch) + else if (target.cpu.arch.isThumb()) + // ARM headers are valid for Thumb too. + switch (target.cpu.arch) { + .thumb => "arm", + .thumbeb => "armeb", + else => unreachable, + } + else + @tagName(target.cpu.arch); const os_name = @tagName(target.os.tag); // Musl's headers are ABI-agnostic and so they all have the "musl" ABI name. const abi_name = if (target.abi.isMusl()) "musl" else @tagName(target.abi); diff --git a/src/target.zig b/src/target.zig index 25ed726fe6..1e31f99dc1 100644 --- a/src/target.zig +++ b/src/target.zig @@ -24,6 +24,10 @@ pub const available_libcs = [_]ArchOsAbi{ .{ .arch = .arm, .os = .linux, .abi = .gnueabihf }, .{ .arch = .arm, .os = .linux, .abi = .musleabi }, .{ .arch = .arm, .os = .linux, .abi = .musleabihf }, + .{ .arch = .thumb, .os = .linux, .abi = .gnueabi }, + .{ .arch = .thumb, .os = .linux, .abi = .gnueabihf }, + .{ .arch = .thumb, .os = .linux, .abi = .musleabi }, + .{ .arch = .thumb, .os = .linux, .abi = .musleabihf }, .{ .arch = .arm, .os = .windows, .abi = .gnu }, .{ .arch = .csky, .os = .linux, .abi = .gnueabi }, .{ .arch = .csky, .os = .linux, .abi = .gnueabihf }, @@ -97,7 +101,7 @@ pub fn libCGenericName(target: std.Target) [:0]const u8 { pub fn archMuslName(arch: std.Target.Cpu.Arch) [:0]const u8 { switch (arch) { .aarch64, .aarch64_be => return "aarch64", - .arm, .armeb => return "arm", + .arm, .armeb, .thumb, .thumbeb => return "arm", .mips, .mipsel => return "mips", .mips64el, .mips64 => return "mips64", .powerpc => return "powerpc",