diff options
author | Yuki Okushi <jtitor@2k36.org> | 2022-09-24 22:59:57 +0900 |
---|---|---|
committer | Yuki Okushi <jtitor@2k36.org> | 2022-09-28 19:35:37 +0900 |
commit | 63cc149be9aca678f7976222a79cdb268b573a76 (patch) | |
tree | 0db5442e8d5dad23a5a45b8f9d8afc479d24b930 | |
parent | a1d75786b70f949360d826aec51a608919510776 (diff) | |
download | rust-libc-63cc149be9aca678f7976222a79cdb268b573a76.tar.gz |
Ignore some items
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
-rw-r--r-- | libc-test/build.rs | 124 |
1 files changed, 120 insertions, 4 deletions
diff --git a/libc-test/build.rs b/libc-test/build.rs index 651bb09e1d..9e390bd323 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -2473,6 +2473,9 @@ fn test_emscripten(target: &str) { // FIXME: is this necessary? "sighandler_t" => true, + // FIXME: The size has been changed due to musl's time64 + "time_t" => true, + _ => false, } }); @@ -2491,6 +2494,16 @@ fn test_emscripten(target: &str) { // Skip for now to unblock CI. "pthread_condattr_t" => true, + // FIXME: The size has been changed when upgraded to musl 1.2.2 + "pthread_mutex_t" => true, + + // FIXME: The size has been changed + "max_align_t" => true, + + // FIXME: The size has been changed due to time64 + "utimbuf" | "timeval" | "timespec" | "rusage" | "itimerval" | "sched_param" + | "stat" | "stat64" | "shmid_ds" | "msqid_ds" => true, + _ => false, } }); @@ -2503,6 +2516,14 @@ fn test_emscripten(target: &str) { // FIXME: Investigate why CI is missing it. "clearenv" => true, + // FIXME: Somehow the ctest cannot find it on emscripten: + // = note: error: undefined symbol: wait4 (referenced by top-level compiled C/C++ code) + // warning: Link with `-sLLD_REPORT_UNDEFINED` to get more information on undefined symbols + // warning: To disable errors for undefined symbols use `-sERROR_ON_UNDEFINED_SYMBOLS=0` + // warning: _wait4 may need to be added to EXPORTED_FUNCTIONS if it arrives from a system library + // Error: Aborting compilation due to previous errors + "wait4" => true, + _ => false, } }); @@ -2520,6 +2541,18 @@ fn test_emscripten(target: &str) { // emscripten-core/emscripten@6d6474e "SYS_gettid" => true, + // FIXME: These values have been changed + | "POSIX_MADV_DONTNEED" // to 4 + | "RLIMIT_NLIMITS" // to 16 + | "RLIM_NLIMITS" // to 16 + | "IPPROTO_MAX" // to 263 + | "F_GETLK" // to 5 + | "F_SETLK" // to 6 + | "F_SETLKW" // to 7 + | "O_TMPFILE" // to 65 + | "SIG_IGN" // -1 + => true, + _ => false, } }); @@ -2703,6 +2736,7 @@ fn test_linux(target: &str) { let mips = target.contains("mips"); let mips32 = mips && !target.contains("64"); let mips64 = mips && target.contains("64"); + let ppc = target.contains("powerpc"); let ppc64 = target.contains("powerpc64"); let s390x = target.contains("s390x"); let sparc64 = target.contains("sparc64"); @@ -2710,7 +2744,7 @@ fn test_linux(target: &str) { let x86_32 = target.contains("i686"); let x86_64 = target.contains("x86_64"); let aarch64_musl = target.contains("aarch64") && musl; - let gnuabihf = target.contains("gnueabihf"); + let gnueabihf = target.contains("gnueabihf"); let x86_64_gnux32 = target.contains("gnux32") && x86_64; let riscv64 = target.contains("riscv64"); let uclibc = target.contains("uclibc"); @@ -2815,9 +2849,9 @@ fn test_linux(target: &str) { "errno.h", // `sys/io.h` is only available on x86*, Alpha, IA64, and 32-bit // ARM: https://bugzilla.redhat.com/show_bug.cgi?id=1116162 - // Also unavailable on gnuabihf with glibc 2.30. + // Also unavailable on gnueabihf with glibc 2.30. // https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=6b33f373c7b9199e00ba5fbafd94ac9bfb4337b1 - [(x86_64 || x86_32 || arm) && !gnuabihf]: "sys/io.h", + [(x86_64 || x86_32 || arm) && !gnueabihf]: "sys/io.h", // `sys/reg.h` is only available on x86 and x86_64 [x86_64 || x86_32]: "sys/reg.h", // sysctl system call is deprecated and not available on musl @@ -2865,7 +2899,8 @@ fn test_linux(target: &str) { "linux/netfilter_ipv6.h", "linux/netfilter_ipv6/ip6_tables.h", "linux/netlink.h", - "linux/openat2.h", + // FIXME: requires Linux >= 5.6: + [!musl && !sparc64]: "linux/openat2.h", [!musl]: "linux/ptrace.h", "linux/quota.h", "linux/random.h", @@ -2963,6 +2998,11 @@ fn test_linux(target: &str) { // For internal use only, to define architecture specific ioctl constants with a libc specific type. "Ioctl" => true, + // FIXME: requires >= 5.4.1 kernel headers + "pgn_t" if musl => true, + "priority_t" if musl => true, + "name_t" if musl => true, + _ => false, } }); @@ -3024,6 +3064,12 @@ fn test_linux(target: &str) { // FIXME: requires >= 5.4.1 kernel headers "j1939_filter" if musl => true, + // FIXME: requires >= 5.4 kernel headers + "sockaddr_can" if musl => true, + + // FIXME: Unignore once we update Ubuntu to 22.04 + "mallinfo2" if sparc64 => true, + _ => false, } }); @@ -3062,6 +3108,15 @@ fn test_linux(target: &str) { return true; } } + if musl || sparc64 { + // FIXME: Requires >= 5.4.1 kernel headers + if name.starts_with("J1939") + || name.starts_with("SO_J1939") + || name.starts_with("SCM_J1939") + { + return true; + } + } match name { // These constants are not available if gnu headers have been included // and can therefore not be tested here @@ -3124,6 +3179,9 @@ fn test_linux(target: &str) { // Not yet implemented on sparc64 "SYS_clone3" if mips | sparc64 => true, + // FIXME: Not defined on ARM, gnueabihf, MIPS, musl, PowerPC, riscv64, s390x, and sparc64. + "SYS_memfd_secret" if arm | gnueabihf | mips | musl | ppc | riscv64 | s390x | sparc64 => true, + // FIXME: Added in Linux 5.16 // https://github.com/torvalds/linux/commit/039c0ec9bb77446d7ada7f55f90af9299b28ca49 "SYS_futex_waitv" => true, @@ -3195,6 +3253,64 @@ fn test_linux(target: &str) { // https://github.com/torvalds/linux/commit/42df6e1d221dddc0f2acf2be37e68d553ad65f96 "NF_NETDEV_NUMHOOKS" => true, + // FIXME: requires Linux >= 5.6: + | "RESOLVE_BENEATH" + | "RESOLVE_CACHED" + | "RESOLVE_IN_ROOT" + | "RESOLVE_NO_MAGICLINKS" + | "RESOLVE_NO_SYMLINKS" + | "RESOLVE_NO_XDEV" if musl || sparc64 => true, + + // FIXME: requires Linux >= 5.4: + | "CAN_J1939" + | "CAN_NPROTO" if musl || sparc64 => true, + + // FIXME: requires Linux >= 5.6 + "GRND_INSECURE" if musl || sparc64 => true, + + // FIXME: requires Linux >= 5.7: + "MREMAP_DONTUNMAP" if musl || sparc64 => true, + + // FIXME: Requires more recent kernel headers (5.9 / 5.11): + | "CLOSE_RANGE_UNSHARE" + | "CLOSE_RANGE_CLOEXEC" if musl || sparc64 => true, + + // FIXME: requires Linux >= 5.12: + "MPOL_F_NUMA_BALANCING" if musl || sparc64 => true, + + // FIXME: Requires more recent kernel headers + | "NFNL_SUBSYS_COUNT" // bumped in v5.14 + | "NFNL_SUBSYS_HOOK" // v5.14+ + | "NFULA_VLAN" // v5.4+ + | "NFULA_L2HDR" // v5.4+ + | "NFULA_VLAN_PROTO" // v5.4+ + | "NFULA_VLAN_TCI" // v5.4+ + | "NFULA_VLAN_UNSPEC" // v5.4+ + | "RTNLGRP_NEXTHOP" // linux v5.3+ + | "RTNLGRP_BRVLAN" // linux v5.6+ + if musl || sparc64 => true, + + // FIXME: Unignore once we update Ubuntu to 22.04 + | "VMADDR_CID_LOCAL" + | "STATX_MNT_ID" + | "SYS_close_range" + | "SYS_openat2" + | "SYS_pidfd_getfd" + | "SYS_faccessat2" + | "SYS_process_madvise" + | "SYS_epoll_pwait2" + | "SYS_mount_setattr" + | "SYS_quotactl_fd" + | "SYS_landlock_create_ruleset" + | "SYS_landlock_add_rule" + | "SYS_landlock_restrict_self" + | "SYS_process_mrelease" + | "IFLA_PROP_LIST" + | "IFLA_ALT_IFNAME" + | "IFLA_PERM_ADDRESS" + | "IFLA_PROTO_DOWN_REASON" + if sparc64 => true, + _ => false, } }); |