Lines Matching +full:linux +full:- +full:headers +full:-
26 if target.contains("linux") in do_cc()
35 if target.contains("android") || target.contains("linux") { in do_cc()
38 if target.contains("linux") in do_cc()
55 t if t.contains("linux") => return test_linux(t), in do_ctest()
64 t if t.contains("nto-qnx") => return test_neutrino(t), in do_ctest()
69 fn ctest_cfg() -> ctest::TestGenerator { in ctest_cfg()
97 // `libc-test/semver` dir. in do_semver()
103 // NOTE: Android doesn't include the unix file (or the Linux file) because in do_semver()
111 let os_arch = format!("{}-{}", os, arch); in do_semver()
114 let os_env = format!("{}-{}", os, target_env); in do_semver()
117 let os_env_arch = format!("{}-{}-{}", os, target_env, arch); in do_semver()
127 println!("cargo:rerun-if-changed={}", path.display()); in process_semver_file()
162 macro_rules! headers { macro
172 $(headers!($cfg: $([$c]:)* $header);)*
175 headers!($($cfg: $([$c]:)* $header,)*);
178 headers!($($cfg: $([$c]:)* $header,)*);
188 cfg.flag("-Wno-deprecated-declarations"); in test_apple()
191 headers! { cfg: in test_apple()
213 "mach-o/dyld.h", in test_apple()
338 // FIXME: the value has been changed since Catalina (0xffff0000 -> 0x3fff0000). in test_apple()
350 // FIXME: https://github.com/rust-lang/libc/issues/1272 in test_apple()
356 // FIXME: std removed libresolv support: https://github.com/rust-lang/rust/pull/102766 in test_apple()
374 // FIXME: the array size has been changed since macOS 10.15 ([8] -> [7]). in test_apple()
377 // MAXPATHLEN is too big for auto-derive traits on arrays. in test_apple()
444 cfg.flag("-Wno-deprecated-declarations"); in test_openbsd()
448 headers! { cfg: in test_openbsd()
559 // FIXME: https://github.com/rust-lang/libc/issues/1272 in test_openbsd()
563 // https://marc.info/?l=openbsd-cvs&m=154723400730318 in test_openbsd()
573 // https://marc.info/?l=openbsd-cvs&m=170239504300386 in test_openbsd()
633 headers! { cfg: in test_windows()
715 // FIXME: newer windows-gnu environment on CI? in test_windows()
730 // windows-isms in test_windows()
741 // FIXME: https://github.com/rust-lang/libc/issues/1272 in test_windows()
755 cfg.flag("-Wno-deprecated-declarations"); in test_redox()
757 headers! { in test_redox()
806 // While debugging, "CFLAGS=-ferror-limit=<large num>" is useful to get more error output. in test_solarish()
808 cfg.flag("-Wno-deprecated-declarations"); in test_solarish()
814 headers! { in test_solarish()
943 // explicitly support it. (A no-op is an acceptable implementation of EPOLLEXCLUSIVE.) in test_solarish()
960 // a bunch of solaris-only fields in test_solarish()
989 // `uc_filler` fields to use for brand-specific state. in test_solarish()
1001 // const-ness only added recently in test_solarish()
1004 // Definition of those functions as changed since unified headers in test_solarish()
1018 // const-ness issues in test_solarish()
1021 // Solaris-different in test_solarish()
1027 // non-prefixed implementations in libc. in test_solarish()
1055 cfg.flag("-Wno-deprecated-declarations"); in test_netbsd()
1058 headers! { in test_netbsd()
1227 // FIXME: https://github.com/rust-lang/libc/issues/1272 in test_netbsd()
1232 "getrlimit" | "getrlimit64" | // non-int in 1st arg in test_netbsd()
1233 "setrlimit" | "setrlimit64" | // non-int in 1st arg in test_netbsd()
1234 "prlimit" | "prlimit64" | // non-int in 2nd arg in test_netbsd()
1268 cfg.flag("-Wno-deprecated-declarations"); in test_dragonflybsd()
1270 headers! { in test_dragonflybsd()
1456 // FIXME: https://github.com/rust-lang/libc/issues/1272 in test_dragonflybsd()
1459 "getrlimit" | "getrlimit64" | // non-int in 1st arg in test_dragonflybsd()
1460 "setrlimit" | "setrlimit64" | // non-int in 1st arg in test_dragonflybsd()
1461 "prlimit" | "prlimit64" // non-int in 2nd arg in test_dragonflybsd()
1480 // this is actually a union on linux, so we can't represent it well and in test_dragonflybsd()
1496 headers! { cfg: in test_wasi()
1525 "wasi/libc-find-relpath.h", in test_wasi()
1526 "wasi/libc-nocwd.h", in test_wasi()
1559 // tests. For more info see WebAssembly/tool-conventions#88 in test_wasi()
1578 headers! { cfg: in test_android()
1592 "linux/sysctl.h", in test_android()
1663 // time64_t is not defined for 64-bit targets If included it will in test_android()
1664 // generate the error 'Your time_t is already 64-bit' in test_android()
1669 // Include linux headers at the end: in test_android()
1670 headers! { cfg: in test_android()
1672 "linux/auxvec.h", in test_android()
1673 "linux/dccp.h", in test_android()
1674 "linux/elf.h", in test_android()
1675 "linux/errqueue.h", in test_android()
1676 "linux/falloc.h", in test_android()
1677 "linux/filter.h", in test_android()
1678 "linux/futex.h", in test_android()
1679 "linux/fs.h", in test_android()
1680 "linux/genetlink.h", in test_android()
1681 "linux/if_alg.h", in test_android()
1682 "linux/if_addr.h", in test_android()
1683 "linux/if_ether.h", in test_android()
1684 "linux/if_link.h", in test_android()
1685 "linux/rtnetlink.h", in test_android()
1686 "linux/if_tun.h", in test_android()
1687 "linux/kexec.h", in test_android()
1688 "linux/magic.h", in test_android()
1689 "linux/membarrier.h", in test_android()
1690 "linux/memfd.h", in test_android()
1691 "linux/mempolicy.h", in test_android()
1692 "linux/module.h", in test_android()
1693 "linux/mount.h", in test_android()
1694 "linux/net_tstamp.h", in test_android()
1695 "linux/netfilter/nfnetlink.h", in test_android()
1696 "linux/netfilter/nfnetlink_log.h", in test_android()
1697 "linux/netfilter/nfnetlink_queue.h", in test_android()
1698 "linux/netfilter/nf_tables.h", in test_android()
1699 "linux/netfilter_ipv4.h", in test_android()
1700 "linux/netfilter_ipv6.h", in test_android()
1701 "linux/netfilter_ipv6/ip6_tables.h", in test_android()
1702 "linux/netlink.h", in test_android()
1703 "linux/quota.h", in test_android()
1704 "linux/reboot.h", in test_android()
1705 "linux/seccomp.h", in test_android()
1706 "linux/sched.h", in test_android()
1707 "linux/sockios.h", in test_android()
1708 "linux/uinput.h", in test_android()
1709 "linux/vm_sockets.h", in test_android()
1710 "linux/wait.h", in test_android()
1714 // Include Android-specific headers: in test_android()
1715 headers! { cfg: in test_android()
1763 // https://github.com/rust-lang/libc/issues/1359 in test_android()
1821 // See: https://github.com/rust-lang/libc/issues/1356 in test_android()
1826 // FIXME: deprecated - removed in glibc 2.26 in test_android()
1832 // Requires Linux kernel 5.6 in test_android()
1835 // FIXME: conflicts with standard C headers and is tested in in test_android()
1843 // linux 5.12 min in test_android()
1846 // GRND_INSECURE was added in platform-tools-30.0.0 in test_android()
1915 // From `<include/linux/sched.h>`. in test_android()
1950 // FIXME: https://github.com/rust-lang/libc/issues/1272 in test_android()
1955 // https://linux.die.net/man/3/strerror_r in test_android()
1957 // An XSI-compliant version provided if: in test_android()
1963 // libc provides bindings for the XSI-compliant version, which is in test_android()
2006 // incorrect, see: https://github.com/rust-lang/libc/issues/1359 in test_android()
2020 // this is actually a union on linux, so we can't represent it well and in test_android()
2049 // For sched linux compat fn in test_freebsd()
2053 // Required for making freebsd11_stat available in the headers in test_freebsd()
2069 headers! { cfg: in test_freebsd()
2200 // FIXME: https://github.com/rust-lang/libc/issues/1273 in test_freebsd()
2262 // FIXME: These are deprecated - remove in a couple of releases. in test_freebsd()
2267 // FIXME: These are deprecated - remove in a couple of releases. in test_freebsd()
2273 // FIXME: This is deprecated - remove in a couple of releases. in test_freebsd()
2284 // FIXME: These are deprecated - remove in a couple of releases. in test_freebsd()
2285 // These symbols are not stable across OS-versions. They were in test_freebsd()
2526 // FIXME: https://github.com/rust-lang/libc/issues/1272 in test_freebsd()
2595 // incorrect, see: https://github.com/rust-lang/libc/issues/1359 in test_freebsd()
2668 headers! { cfg: in test_emscripten()
2763 // https://github.com/emscripten-core/emscripten/pull/19812 in test_emscripten()
2802 // https://github.com/emscripten-core/emscripten/pull/19812 in test_emscripten()
2814 // emscripten-core/emscripten@953e414 in test_emscripten()
2825 // llvm/llvm-project@d1a96e9 in test_emscripten()
2833 // https://github.com/emscripten-core/emscripten/pull/19812 in test_emscripten()
2840 // Emscripten does not support fork/exec/wait or any kind of multi-process support in test_emscripten()
2841 // https://github.com/emscripten-core/emscripten/blob/3.1.30/tools/system_libs.py#L973 in test_emscripten()
2844 // FIXME: Remove after emscripten-core/emscripten#18492 is released (> 3.1.30). in test_emscripten()
2853 // FIXME: deprecated - SIGNUNUSED was removed in glibc 2.26 in test_emscripten()
2861 // emscripten-core/emscripten@6d6474e in test_emscripten()
2873 | "SIG_IGN" // -1 in test_emscripten()
2877 // https://github.com/emscripten-core/emscripten/pull/19812 in test_emscripten()
2900 // this is actually a union on linux, so we can't represent it well and in test_emscripten()
2912 // signalfd had SIGSYS fields added in Linux 4.18, but no libc release has them yet. in test_emscripten()
2928 // FIXME: test linux like in test_emscripten()
2933 assert!(target.contains("nto-qnx")); in test_neutrino()
2937 headers! { cfg: in test_neutrino()
3020 // TODO: The following header file doesn't appear as part of the default headers in test_neutrino()
3086 // https://github.com/rust-lang/libc/issues/1359 in test_neutrino()
3128 // FIXME: https://github.com/rust-lang/libc/issues/1272 in test_neutrino()
3151 // Not defined in any headers. Defined to work around a in test_neutrino()
3188 headers! { cfg: in test_vxworks()
3293 assert!(target.contains("linux")); in test_linux()
3305 "linux target lib is gnu: {}, musl: {}, uclibc: {}", in test_linux()
3328 // This macro re-defines fscanf,scanf,sscanf to link to the symbols that are in test_linux()
3333 headers! { cfg: in test_linux()
3341 [gnu]: "gnu/libc-version.h", in test_linux()
3349 "linux/sysctl.h", in test_linux()
3427 // `sys/io.h` is only available on x86*, Alpha, IA64, and 32-bit in test_linux()
3443 // Include linux headers at the end: in test_linux()
3444 headers! { in test_linux()
3447 [gnu]: "linux/aio_abi.h", in test_linux()
3448 "linux/can.h", in test_linux()
3449 "linux/can/raw.h", in test_linux()
3450 // FIXME: requires kernel headers >= 5.4.1. in test_linux()
3451 [!musl]: "linux/can/j1939.h", in test_linux()
3452 "linux/dccp.h", in test_linux()
3453 "linux/errqueue.h", in test_linux()
3454 "linux/falloc.h", in test_linux()
3455 "linux/filter.h", in test_linux()
3456 "linux/fs.h", in test_linux()
3457 "linux/futex.h", in test_linux()
3458 "linux/genetlink.h", in test_linux()
3459 "linux/if.h", in test_linux()
3460 "linux/if_addr.h", in test_linux()
3461 "linux/if_alg.h", in test_linux()
3462 "linux/if_ether.h", in test_linux()
3463 "linux/if_tun.h", in test_linux()
3464 "linux/if_xdp.h", in test_linux()
3465 "linux/input.h", in test_linux()
3466 "linux/ipv6.h", in test_linux()
3467 "linux/kexec.h", in test_linux()
3468 "linux/keyctl.h", in test_linux()
3469 "linux/magic.h", in test_linux()
3470 "linux/memfd.h", in test_linux()
3471 "linux/membarrier.h", in test_linux()
3472 "linux/mempolicy.h", in test_linux()
3473 "linux/mman.h", in test_linux()
3474 "linux/module.h", in test_linux()
3475 // FIXME: requires kernel headers >= 5.1. in test_linux()
3476 [!musl]: "linux/mount.h", in test_linux()
3477 "linux/net_tstamp.h", in test_linux()
3478 "linux/netfilter/nfnetlink.h", in test_linux()
3479 "linux/netfilter/nfnetlink_log.h", in test_linux()
3480 "linux/netfilter/nfnetlink_queue.h", in test_linux()
3481 "linux/netfilter/nf_tables.h", in test_linux()
3482 "linux/netfilter_ipv4.h", in test_linux()
3483 "linux/netfilter_ipv6.h", in test_linux()
3484 "linux/netfilter_ipv6/ip6_tables.h", in test_linux()
3485 "linux/netlink.h", in test_linux()
3486 // FIXME: requires Linux >= 5.6: in test_linux()
3487 [!musl]: "linux/openat2.h", in test_linux()
3488 [!musl]: "linux/ptrace.h", in test_linux()
3489 "linux/quota.h", in test_linux()
3490 "linux/random.h", in test_linux()
3491 "linux/reboot.h", in test_linux()
3492 "linux/rtnetlink.h", in test_linux()
3493 "linux/sched.h", in test_linux()
3494 "linux/sctp.h", in test_linux()
3495 "linux/seccomp.h", in test_linux()
3496 "linux/sock_diag.h", in test_linux()
3497 "linux/sockios.h", in test_linux()
3498 "linux/tls.h", in test_linux()
3499 "linux/uinput.h", in test_linux()
3500 "linux/vm_sockets.h", in test_linux()
3501 "linux/wait.h", in test_linux()
3502 "linux/wireless.h", in test_linux()
3506 [gnu]: "linux/close_range.h", in test_linux()
3510 headers! { in test_linux()
3551 // http://man7.org/linux/man-pages/man2/epoll_wait.2.html in test_linux()
3571 // https://github.com/rust-lang/libc/issues/1359 in test_linux()
3578 // This type is private on Linux. It is implemented as a C `enum` in test_linux()
3582 // on Linux, this is a volatile int in test_linux()
3589 // FIXME: requires >= 5.4.1 kernel headers in test_linux()
3609 // FIXME: musl CI has old headers in test_linux()
3630 // FIXME: sparc64 CI has old headers in test_linux()
3634 // FIXME(https://github.com/rust-lang/libc/issues/1558): passing by in test_linux()
3644 // On Linux, the type of `ut_tv` field of `struct utmpx` in test_linux()
3660 // glibcs (see https://github.com/rust-lang/libc/issues/1410) in test_linux()
3663 // FIXME: Somehow we cannot include headers correctly in glibc 2.30. in test_linux()
3664 // So let's ignore for now and re-visit later. in test_linux()
3669 // On Linux, the type of `ut_exit` field of struct `utmpx` in test_linux()
3680 // FIXME: requires >= 5.4.1 kernel headers in test_linux()
3683 // FIXME: requires >= 5.4 kernel headers in test_linux()
3689 // FIXME: requires >= 6.1 kernel headers in test_linux()
3692 // FIXME: The size of `iv` has been changed since Linux v6.0 in test_linux()
3693 // https://github.com/torvalds/linux/commit/94dfc73e7cf4a31da66b8843f0b9283ddd6b8381 in test_linux()
3696 // FIXME: Requires >= 5.1 kernel headers. in test_linux()
3697 // Everything that uses install-musl.sh has 4.19 kernel headers. in test_linux()
3704 // FIXME: Requires >= 5.11 kernel headers. in test_linux()
3705 // Everything that uses install-musl.sh has 4.19 kernel headers. in test_linux()
3712 // FIXME: Requires >= 5.3 kernel headers. in test_linux()
3713 // Everything that uses install-musl.sh has 4.19 kernel headers. in test_linux()
3716 // FIXME: Requires >= 5.4 kernel headers. in test_linux()
3717 // Everything that uses install-musl.sh has 4.19 kernel headers. in test_linux()
3720 // FIXME: Requires >= 5.9 kernel headers. in test_linux()
3721 // Everything that uses install-musl.sh has 4.19 kernel headers. in test_linux()
3725 // https://github.com/torvalds/linux/commit/77cd0d7b3f257fd0e3096b4fdcff1a7d38e99e10 in test_linux()
3729 // https://github.com/torvalds/linux/commit/77cd0d7b3f257fd0e3096b4fdcff1a7d38e99e10 in test_linux()
3733 // https://github.com/torvalds/linux/commit/c05cd3645814724bdeb32a2b4d953b12bdea5f8c in test_linux()
3736 // Is defined in `<linux/sched/types.h>` but if this file is included at the same time in test_linux()
3738 // fail. The problem doesn't seem to be present in more recent versions of the linux in test_linux()
3748 // Skip definitions from the kernel on non-glibc Linux targets. in test_linux()
3749 // They're libc-independent, so we only need to check them on one in test_linux()
3784 // FIXME: Requires >= 5.0 kernel headers in test_linux()
3795 // FIXME: Requires >= 5.4.1 kernel headers in test_linux()
3803 // FIXME: Requires >= 5.10 kernel headers in test_linux()
3813 // CI fails because musl targets use Linux v4 kernel in test_linux()
3817 // FIXME: Requires >= 6.3 kernel headers in test_linux()
3823 // These constants are not available if gnu headers have been included in test_linux()
3841 // because including `linux/if_arp.h` causes some conflicts: in test_linux()
3845 // See: https://github.com/rust-lang/libc/issues/1356 in test_linux()
3852 // FIXME: conflicts with glibc headers and is tested in in test_linux()
3862 // - these constants are used by the glibc implementation. in test_linux()
3865 // FIXME: It was extended to 4096 since glibc 2.31 (Linux 5.4). in test_linux()
3869 // deprecated: not available from Linux kernel 5.6: in test_linux()
3883 // FIXME: Added in Linux 5.16 in test_linux()
3884 // https://github.com/torvalds/linux/commit/039c0ec9bb77446d7ada7f55f90af9299b28ca49 in test_linux()
3887 // FIXME: Added in Linux 5.17 in test_linux()
3888 // https://github.com/torvalds/linux/commit/c6018b4b254971863bd0ad36bb5e7d0fa0f0ddb0 in test_linux()
3891 // FIXME: Added in Linux 5.18 in test_linux()
3892 // https://github.com/torvalds/linux/commit/8b5413647262dda8d8d0e07e14ea1de9ac7cf0b2 in test_linux()
3895 // FIXME: requires more recent kernel headers on CI in test_linux()
3901 // FIXME: Not currently available in headers on ARM and musl. in test_linux()
3920 // headers conflicts with linux/pidfd.h in test_linux()
3926 // linux 5.17 min in test_linux()
3937 // Added in Linux 5.14 in test_linux()
3940 // Added in linux 6.1 in test_linux()
3958 // FIXME: Parts of netfilter/nfnetlink*.h require more recent kernel headers: in test_linux()
3959 | "RTNLGRP_MCTP_IFADDR" // linux v5.17+ in test_linux()
3960 | "RTNLGRP_TUNNEL" // linux v5.18+ in test_linux()
3961 | "RTNLGRP_STATS" // linux v5.18+ in test_linux()
3971 // FIXME: Linux >= 5.16 changed its value: in test_linux()
3972 // https://github.com/torvalds/linux/commit/42df6e1d221dddc0f2acf2be37e68d553ad65f96 in test_linux()
3975 // FIXME: requires Linux >= 5.6: in test_linux()
3983 // FIXME: requires Linux >= 5.4: in test_linux()
3987 // FIXME: requires Linux >= 5.6 in test_linux()
3990 // FIXME: requires Linux >= 5.7: in test_linux()
3993 // FIXME: requires Linux >= v5.8 in test_linux()
3996 // FIXME: Requires more recent kernel headers (5.9 / 5.11): in test_linux()
4000 // FIXME: requires Linux >= 5.12: in test_linux()
4003 // FIXME: Requires more recent kernel headers in test_linux()
4011 | "RTNLGRP_NEXTHOP" // linux v5.3+ in test_linux()
4012 | "RTNLGRP_BRVLAN" // linux v5.6+ in test_linux()
4028 // FIXME: Requires more recent kernel headers in test_linux()
4029 | "IFLA_PARENT_DEV_NAME" // linux v5.13+ in test_linux()
4030 | "IFLA_PARENT_DEV_BUS_NAME" // linux v5.13+ in test_linux()
4031 | "IFLA_GRO_MAX_SIZE" // linux v5.16+ in test_linux()
4032 | "IFLA_TSO_MAX_SIZE" // linux v5.18+ in test_linux()
4033 | "IFLA_TSO_MAX_SEGS" // linux v5.18+ in test_linux()
4034 | "IFLA_ALLMULTI" // linux v6.0+ in test_linux()
4035 | "MADV_DONTNEED_LOCKED" // linux v5.18+ in test_linux()
4037 …ASSOC" | "SCTP_CURRENT_ASSOC" | "SCTP_ALL_ASSOC" | "SCTP_PEER_ADDR_THLDS_V2" => true, // linux 5.5+ in test_linux()
4039 // FIXME: Requires more recent kernel headers in test_linux()
4040 "HWTSTAMP_TX_ONESTEP_P2P" if musl => true, // linux v5.6+ in test_linux()
4044 // FIXME: Requires linux 6.1 in test_linux()
4047 // FIXME: Requires more recent kernel headers in test_linux()
4048 | "FAN_FS_ERROR" // linux v5.16+ in test_linux()
4049 | "FAN_RENAME" // linux v5.17+ in test_linux()
4050 | "FAN_REPORT_TARGET_FID" // linux v5.17+ in test_linux()
4051 | "FAN_REPORT_DFID_NAME_TARGET" // linux v5.17+ in test_linux()
4052 | "FAN_MARK_EVICTABLE" // linux v5.19+ in test_linux()
4053 | "FAN_MARK_IGNORE" // linux v6.0+ in test_linux()
4054 | "FAN_MARK_IGNORE_SURV" // linux v6.0+ in test_linux()
4055 | "FAN_EVENT_INFO_TYPE_ERROR" // linux v5.16+ in test_linux()
4056 | "FAN_EVENT_INFO_TYPE_OLD_DFID_NAME" // linux v5.17+ in test_linux()
4057 | "FAN_EVENT_INFO_TYPE_NEW_DFID_NAME" // linux v5.17+ in test_linux()
4058 | "FAN_RESPONSE_INFO_NONE" // linux v5.16+ in test_linux()
4059 | "FAN_RESPONSE_INFO_AUDIT_RULE" // linux v5.16+ in test_linux()
4060 | "FAN_INFO" // linux v5.16+ in test_linux()
4063 // FIXME: Requires linux 5.15+ in test_linux()
4066 // FIXME: Requires linux 5.9+ in test_linux()
4077 // FIXME: Requires linux 6.5 in test_linux()
4080 // FIXME: Requires >= 5.1 kernel headers. in test_linux()
4081 // Everything that uses install-musl.sh has 4.19 kernel headers. in test_linux()
4096 // FIXME: Requires >= 5.11 kernel headers. in test_linux()
4097 // Everything that uses install-musl.sh has 4.19 kernel headers. in test_linux()
4109 // FIXME: Requires >= 5.3 kernel headers. in test_linux()
4110 // Everything that uses install-musl.sh has 4.19 kernel headers. in test_linux()
4117 // FIXME: Requires >= 5.4 kernel headers. in test_linux()
4118 // Everything that uses install-musl.sh has 4.19 kernel headers. in test_linux()
4129 // FIXME: Requires >= 6.6 kernel headers. in test_linux()
4137 // FIXME: seems to not be available all the time (from <include/linux/sched.h>: in test_linux()
4170 | "SCHED_FLAG_ALL" if musl => true, // Needs more recent linux headers. in test_linux()
4179 // FIXME: https://github.com/rust-lang/libc/issues/1272 in test_linux()
4184 // https://linux.die.net/man/3/strerror_r in test_linux()
4186 // An XSI-compliant version provided if: in test_linux()
4193 // libc provides bindings for the XSI-compliant version, which is in test_linux()
4258 // to the issues described here: https://github.com/rust-lang/libc/issues/2816 in test_linux()
4262 // There are two versions of basename(3) on Linux with glibc, see in test_linux()
4264 // https://man7.org/linux/man-pages/man3/basename.3.html in test_linux()
4313 // this is actually a union on linux, so we can't represent it well and in test_linux()
4322 // signalfd had SIGSYS fields added in Linux 4.18, but no libc release in test_linux()
4349 // Linux >= 5.11 tweaked the `svm_zero` field of the `sockaddr_vm` struct. in test_linux()
4350 // https://github.com/torvalds/linux/commit/dc8eeef73b63ed8988224ba6b5ed19a615163a7f in test_linux()
4409 // are included (e.g. because including both sets of headers clashes)
4413 let linux = target.contains("linux"); in test_linux_like_apis() localVariable
4416 assert!(linux || android || emscripten); in test_linux_like_apis()
4418 if linux || android || emscripten { in test_linux_like_apis()
4423 headers! { cfg: "string.h" } in test_linux_like_apis()
4433 if linux || android || emscripten { in test_linux_like_apis()
4434 // test fcntl - see: in test_linux_like_apis()
4435 // http://man7.org/linux/man-pages/man2/fcntl.2.html in test_linux_like_apis()
4441 cfg.header("linux/fcntl.h"); in test_linux_like_apis()
4463 if linux || android { in test_linux_like_apis()
4467 cfg.header("linux/termios.h"); in test_linux_like_apis()
4487 if linux || android { in test_linux_like_apis()
4490 headers! { in test_linux_like_apis()
4492 "linux/in6.h" in test_linux_like_apis()
4515 if linux || android { in test_linux_like_apis()
4537 if linux || android { in test_linux_like_apis()
4540 cfg.header("linux/if_arp.h"); in test_linux_like_apis()
4553 fn which_freebsd() -> Option<i32> { in which_freebsd()
4554 let output = std::process::Command::new("freebsd-version") in which_freebsd()
4578 cfg.flag("-Wno-deprecated-declarations"); in test_haiku()
4584 headers! { cfg: in test_haiku()
4689 headers! { cfg: in test_haiku()
4699 headers! { cfg: in test_haiku()
4766 // FIXME: https://github.com/rust-lang/libc/issues/1272 in test_haiku()
4840 // skip these enum-type fields in test_haiku()