commit fdc0ed92ce839f7532bff94d9c8127b07e8161d0 (tree)
parent df27298aeffa0621f9b899b1a1855098bd8f550f
Author: Alex Rønne Petersen <alex@alexrp.com>
Date: Sun, 24 Nov 2024 04:36:24 +0100
test: Add thumbeb-linux-* to the module test matrix.
Diffstat:
| M | test/tests.zig | | | 68 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- |
1 file changed, 66 insertions(+), 2 deletions(-)
diff --git a/test/tests.zig b/test/tests.zig
@@ -440,7 +440,7 @@ const test_targets = blk: {
.target = std.Target.Query.parse(.{
.arch_os_abi = "thumb-linux-musleabi",
.cpu_features = "baseline+long_calls",
- }) catch @panic("OOM"),
+ }) catch unreachable,
.link_libc = true,
.pic = false, // Long calls don't work with PIC.
.skip_modules = &.{
@@ -454,7 +454,71 @@ const test_targets = blk: {
.target = std.Target.Query.parse(.{
.arch_os_abi = "thumb-linux-musleabihf",
.cpu_features = "baseline+long_calls",
- }) catch @panic("OOM"),
+ }) catch unreachable,
+ .link_libc = true,
+ .pic = false, // Long calls don't work with PIC.
+ .skip_modules = &.{
+ "behavior",
+ "c-import",
+ "compiler-rt",
+ "universal-libc",
+ },
+ },
+
+ .{
+ .target = .{
+ .cpu_arch = .thumbeb,
+ .os_tag = .linux,
+ .abi = .eabi,
+ },
+ },
+ .{
+ .target = .{
+ .cpu_arch = .thumbeb,
+ .os_tag = .linux,
+ .abi = .eabihf,
+ },
+ },
+ .{
+ .target = .{
+ .cpu_arch = .thumbeb,
+ .os_tag = .linux,
+ .abi = .musleabi,
+ },
+ .link_libc = true,
+ .skip_modules = &.{"std"},
+ },
+ .{
+ .target = .{
+ .cpu_arch = .thumbeb,
+ .os_tag = .linux,
+ .abi = .musleabihf,
+ },
+ .link_libc = true,
+ .skip_modules = &.{"std"},
+ },
+ // Calls are normally lowered to branch instructions that only support +/- 16 MB range when
+ // targeting Thumb. This is not sufficient for the std test binary linked statically with
+ // musl, so use long calls to avoid out-of-range relocations.
+ .{
+ .target = std.Target.Query.parse(.{
+ .arch_os_abi = "thumbeb-linux-musleabi",
+ .cpu_features = "baseline+long_calls",
+ }) catch unreachable,
+ .link_libc = true,
+ .pic = false, // Long calls don't work with PIC.
+ .skip_modules = &.{
+ "behavior",
+ "c-import",
+ "compiler-rt",
+ "universal-libc",
+ },
+ },
+ .{
+ .target = std.Target.Query.parse(.{
+ .arch_os_abi = "thumbeb-linux-musleabihf",
+ .cpu_features = "baseline+long_calls",
+ }) catch unreachable,
.link_libc = true,
.pic = false, // Long calls don't work with PIC.
.skip_modules = &.{