Commit 0d104a645a

Alex Rønne Petersen <alex@alexrp.com>
2025-11-18 00:20:55
test: fix glibc_compat test for s390x which does not have local atexit
1 parent 508f676
Changed files (1)
test
standalone
glibc_compat
test/standalone/glibc_compat/build.zig
@@ -141,12 +141,14 @@ pub fn build(b: *std.Build) void {
         check.checkInDynamicSymtab();
         check.checkExact("0 0 UND FUNC GLOBAL DEFAULT powf");
 
-        // An atexit local symbol is defined, and depends on undefined dynamic
-        // __cxa_atexit.
-        check.checkInSymtab();
-        check.checkContains("FUNC LOCAL HIDDEN atexit");
-        check.checkInDynamicSymtab();
-        check.checkExact("0 0 UND FUNC GLOBAL DEFAULT __cxa_atexit");
+        if (target.result.cpu.arch != .s390x) {
+            // An atexit local symbol is defined, and depends on undefined dynamic
+            // __cxa_atexit.
+            check.checkInSymtab();
+            check.checkContains("FUNC LOCAL HIDDEN atexit");
+            check.checkInDynamicSymtab();
+            check.checkExact("0 0 UND FUNC GLOBAL DEFAULT __cxa_atexit");
+        }
 
         test_step.dependOn(&check.step);
     }
@@ -250,12 +252,14 @@ pub fn build(b: *std.Build) void {
         check.checkInDynamicSymtab();
         check.checkExact("0 0 UND FUNC GLOBAL DEFAULT exit");
 
-        // An atexit local symbol is defined, and depends on undefined dynamic
-        // __cxa_atexit.
-        check.checkInSymtab();
-        check.checkContains("FUNC LOCAL HIDDEN atexit");
-        check.checkInDynamicSymtab();
-        check.checkExact("0 0 UND FUNC GLOBAL DEFAULT __cxa_atexit");
+        if (target.result.cpu.arch != .s390x) {
+            // An atexit local symbol is defined, and depends on undefined dynamic
+            // __cxa_atexit.
+            check.checkInSymtab();
+            check.checkContains("FUNC LOCAL HIDDEN atexit");
+            check.checkInDynamicSymtab();
+            check.checkExact("0 0 UND FUNC GLOBAL DEFAULT __cxa_atexit");
+        }
 
         test_step.dependOn(&check.step);
     }