Skip to content

Commit 0a5c088

Browse files
committed
compiler: Add hexagon-linux-musl support.
Closes #21588.
1 parent e939fc8 commit 0a5c088

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

lib/std/zig/target.zig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ pub const available_libcs = [_]ArchOsAbi{
3434
.{ .arch = .aarch64_be, .os = .linux, .abi = .musl, .os_ver = .{ .major = 3, .minor = 13, .patch = 0 } },
3535
.{ .arch = .csky, .os = .linux, .abi = .gnueabi, .os_ver = .{ .major = 4, .minor = 20, .patch = 0 }, .glibc_min = .{ .major = 2, .minor = 29, .patch = 0 }, .glibc_triple = "csky-linux-gnuabiv2-soft" },
3636
.{ .arch = .csky, .os = .linux, .abi = .gnueabihf, .os_ver = .{ .major = 4, .minor = 20, .patch = 0 }, .glibc_min = .{ .major = 2, .minor = 29, .patch = 0 }, .glibc_triple = "csky-linux-gnuabiv2" },
37+
.{ .arch = .hexagon, .os = .linux, .abi = .musl, .os_ver = .{ .major = 3, .minor = 2, .patch = 102 } },
3738
.{ .arch = .loongarch64, .os = .linux, .abi = .gnu, .os_ver = .{ .major = 5, .minor = 19, .patch = 0 }, .glibc_min = .{ .major = 2, .minor = 36, .patch = 0 }, .glibc_triple = "loongarch64-linux-gnu-lp64d" },
3839
.{ .arch = .loongarch64, .os = .linux, .abi = .gnusf, .os_ver = .{ .major = 5, .minor = 19, .patch = 0 }, .glibc_min = .{ .major = 2, .minor = 36, .patch = 0 }, .glibc_triple = "loongarch64-linux-gnu-lp64s" },
3940
.{ .arch = .loongarch64, .os = .linux, .abi = .musl, .os_ver = .{ .major = 5, .minor = 19, .patch = 0 } },
@@ -154,6 +155,7 @@ pub fn muslArchName(arch: std.Target.Cpu.Arch, abi: std.Target.Abi) [:0]const u8
154155
else => switch (arch) {
155156
.arm, .armeb, .thumb, .thumbeb => "arm",
156157
.aarch64, .aarch64_be => "aarch64",
158+
.hexagon => "hexagon",
157159
.loongarch64 => "loongarch64",
158160
.m68k => "m68k",
159161
.mips, .mipsel => "mips",

src/musl.zig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ pub fn buildCrtFile(comp: *Compilation, in_crt_file: CrtFile, prog_node: std.Pro
202202
const family_define = switch (target.cpu.arch) {
203203
.arm, .armeb, .thumb, .thumbeb => "-DFAMILY_arm",
204204
.aarch64, .aarch64_be => "-DFAMILY_aarch64",
205+
.hexagon => "-DFAMILY_hexagon",
205206
.loongarch64 => "-DFAMILY_loongarch",
206207
.m68k => "-DFAMILY_m68k",
207208
.mips, .mipsel, .mips64, .mips64el => "-DFAMILY_mips",
@@ -320,6 +321,7 @@ fn isArchName(name: []const u8) bool {
320321
"aarch64",
321322
"arm",
322323
"generic",
324+
"hexagon",
323325
"i386",
324326
"loongarch64",
325327
"m68k",
@@ -619,6 +621,7 @@ const src_files = [_][]const u8{
619621
"musl/src/fenv/fesetround.c",
620622
"musl/src/fenv/feupdateenv.c",
621623
"musl/src/fenv/__flt_rounds.c",
624+
"musl/src/fenv/hexagon/fenv.S",
622625
"musl/src/fenv/i386/fenv.s",
623626
"musl/src/fenv/loongarch64/fenv.S",
624627
"musl/src/fenv/m68k/fenv.c",
@@ -1577,6 +1580,8 @@ const src_files = [_][]const u8{
15771580
"musl/src/setjmp/aarch64/setjmp.s",
15781581
"musl/src/setjmp/arm/longjmp.S",
15791582
"musl/src/setjmp/arm/setjmp.S",
1583+
"musl/src/setjmp/hexagon/longjmp.s",
1584+
"musl/src/setjmp/hexagon/setjmp.s",
15801585
"musl/src/setjmp/i386/longjmp.s",
15811586
"musl/src/setjmp/i386/setjmp.s",
15821587
"musl/src/setjmp/longjmp.c",
@@ -1611,6 +1616,8 @@ const src_files = [_][]const u8{
16111616
"musl/src/signal/arm/sigsetjmp.s",
16121617
"musl/src/signal/block.c",
16131618
"musl/src/signal/getitimer.c",
1619+
"musl/src/signal/hexagon/restore.s",
1620+
"musl/src/signal/hexagon/sigsetjmp.s",
16141621
"musl/src/signal/i386/restore.s",
16151622
"musl/src/signal/i386/sigsetjmp.s",
16161623
"musl/src/signal/kill.c",
@@ -1943,6 +1950,10 @@ const src_files = [_][]const u8{
19431950
"musl/src/thread/cnd_timedwait.c",
19441951
"musl/src/thread/cnd_wait.c",
19451952
"musl/src/thread/default_attr.c",
1953+
"musl/src/thread/hexagon/clone.s",
1954+
"musl/src/thread/hexagon/__set_thread_area.s",
1955+
"musl/src/thread/hexagon/syscall_cp.s",
1956+
"musl/src/thread/hexagon/__unmapself.s",
19461957
"musl/src/thread/i386/clone.s",
19471958
"musl/src/thread/i386/__set_thread_area.s",
19481959
"musl/src/thread/i386/syscall_cp.s",

0 commit comments

Comments
 (0)