@@ -2857,8 +2857,7 @@ fn test_linux(target: &str) {
2857
2857
"linux/netfilter_ipv6.h" ,
2858
2858
"linux/netfilter_ipv6/ip6_tables.h" ,
2859
2859
"linux/netlink.h" ,
2860
- // FIXME: requires more recent kernel headers:
2861
- // "linux/openat2.h",
2860
+ "linux/openat2.h" ,
2862
2861
[ !musl] : "linux/ptrace.h" ,
2863
2862
"linux/quota.h" ,
2864
2863
"linux/random.h" ,
@@ -2956,11 +2955,6 @@ fn test_linux(target: &str) {
2956
2955
// For internal use only, to define architecture specific ioctl constants with a libc specific type.
2957
2956
"Ioctl" => true ,
2958
2957
2959
- // FIXME: requires >= 5.4.1 kernel headers
2960
- "pgn_t" if musl => true ,
2961
- "priority_t" if musl => true ,
2962
- "name_t" if musl => true ,
2963
-
2964
2958
_ => false ,
2965
2959
}
2966
2960
} ) ;
@@ -3013,11 +3007,6 @@ fn test_linux(target: &str) {
3013
3007
// which is absent in musl, has to be defined.
3014
3008
"__exit_status" if musl => true ,
3015
3009
3016
- // FIXME: CI's kernel header version is old.
3017
- "sockaddr_can" => true ,
3018
-
3019
- // Requires glibc 2.33 or newer.
3020
- "mallinfo2" => true ,
3021
3010
// clone_args might differ b/w libc versions
3022
3011
"clone_args" => true ,
3023
3012
@@ -3061,12 +3050,6 @@ fn test_linux(target: &str) {
3061
3050
|| name. starts_with ( "TCP_" )
3062
3051
|| name. starts_with ( "UINPUT_" )
3063
3052
|| name. starts_with ( "VMADDR_" )
3064
- // FIXME: Requires >= 5.4.1 kernel headers
3065
- || name. starts_with ( "J1939" )
3066
- // FIXME: Requires >= 5.4.1 kernel headers
3067
- || name. starts_with ( "SO_J1939" )
3068
- // FIXME: Requires >= 5.4.1 kernel headers
3069
- || name. starts_with ( "SCM_J1939" )
3070
3053
{
3071
3054
return true ;
3072
3055
}
@@ -3093,9 +3076,6 @@ fn test_linux(target: &str) {
3093
3076
// because including `linux/if_arp.h` causes some conflicts:
3094
3077
"ARPHRD_CAN" => true ,
3095
3078
3096
- // Require Linux kernel 5.1:
3097
- "F_SEAL_FUTURE_WRITE" => true ,
3098
-
3099
3079
// FIXME: deprecated: not available in any header
3100
3080
// See: https://github.com/rust-lang/libc/issues/1356
3101
3081
"ENOATTR" => true ,
@@ -3124,12 +3104,6 @@ fn test_linux(target: &str) {
3124
3104
// deprecated: not available from Linux kernel 5.6:
3125
3105
"VMADDR_CID_RESERVED" => true ,
3126
3106
3127
- // Require Linux kernel 5.6:
3128
- "VMADDR_CID_LOCAL" => true ,
3129
-
3130
- // Requires Linux kernel 5.7:
3131
- "MREMAP_DONTUNMAP" => true ,
3132
-
3133
3107
// IPPROTO_MAX was increased in 5.6 for IPPROTO_MPTCP:
3134
3108
| "IPPROTO_MAX"
3135
3109
| "IPPROTO_MPTCP" => true ,
@@ -3142,71 +3116,24 @@ fn test_linux(target: &str) {
3142
3116
// Not yet implemented on sparc64
3143
3117
"SYS_clone3" if mips | sparc64 => true ,
3144
3118
3145
- // FIXME: these syscalls were added in Linux 5.9 or later
3146
- // and are currently not included in the glibc headers.
3147
- | "SYS_close_range"
3148
- | "SYS_openat2"
3149
- | "SYS_pidfd_getfd"
3150
- | "SYS_faccessat2"
3151
- | "SYS_process_madvise"
3152
- | "SYS_epoll_pwait2"
3153
- | "SYS_mount_setattr" => true ,
3154
-
3155
- // FIXME: these syscalls were added in Linux 5.13 or later
3156
- // and are currently not included in the glibc headers.
3157
- | "SYS_quotactl_fd"
3158
- | "SYS_landlock_create_ruleset"
3159
- | "SYS_landlock_add_rule"
3160
- | "SYS_landlock_restrict_self"
3161
- | "SYS_memfd_secret"
3162
- | "SYS_process_mrelease"
3163
- | "SYS_futex_waitv"
3164
- | "SYS_set_mempolicy_home_node" => true ,
3165
-
3166
- // Requires more recent kernel headers:
3167
- | "IFLA_PROP_LIST"
3168
- | "IFLA_ALT_IFNAME"
3169
- | "IFLA_PERM_ADDRESS"
3170
- | "IFLA_PROTO_DOWN_REASON" => true ,
3171
-
3172
- // FIXME: They require recent kernel header:
3173
- | "CAN_J1939"
3174
- | "CAN_RAW_FILTER_MAX"
3175
- | "CAN_NPROTO" => true ,
3176
-
3177
- // FIXME: Requires recent kernel headers (5.15)
3178
- | "J1939_NLA_TOTAL_SIZE"
3179
- | "J1939_NLA_PGN"
3180
- | "J1939_NLA_SRC_NAME"
3181
- | "J1939_NLA_DEST_NAME"
3182
- | "J1939_NLA_SRC_ADDR"
3183
- | "J1939_NLA_DEST_ADDR"
3184
- | "J1939_EE_INFO_RX_RTS"
3185
- | "J1939_EE_INFO_RX_DPO"
3186
- | "J1939_EE_INFO_RX_ABORT"
3187
- | "SOL_CAN_J1939" => true ,
3188
-
3189
- // FIXME: Requires recent kernel headers (5.8):
3190
- "STATX_MNT_ID" => true ,
3119
+ // FIXME: Added in Linux 5.16
3120
+ // https://github.com/torvalds/linux/commit/039c0ec9bb77446d7ada7f55f90af9299b28ca49
3121
+ "SYS_futex_waitv" => true ,
3122
+
3123
+ // FIXME: Added in Linux 5.17
3124
+ // https://github.com/torvalds/linux/commit/c6018b4b254971863bd0ad36bb5e7d0fa0f0ddb0
3125
+ "SYS_set_mempolicy_home_node" => true ,
3126
+
3127
+ // FIXME: Added in Linux 5.18
3128
+ // https://github.com/torvalds/linux/commit/8b5413647262dda8d8d0e07e14ea1de9ac7cf0b2
3129
+ "NFQA_PRIORITY" => true ,
3191
3130
3192
3131
// FIXME: requires more recent kernel headers on CI
3193
3132
| "UINPUT_VERSION"
3194
3133
| "SW_MAX"
3195
3134
| "SW_CNT"
3196
3135
if mips || ppc64 || riscv64 || sparc64 => true ,
3197
3136
3198
- // FIXME: Requires more recent kernel headers (5.9 / 5.11):
3199
- | "CLOSE_RANGE_UNSHARE"
3200
- | "CLOSE_RANGE_CLOEXEC" => true ,
3201
-
3202
- // FIXME: requires more recent kernel headers:
3203
- | "RESOLVE_BENEATH"
3204
- | "RESOLVE_CACHED"
3205
- | "RESOLVE_IN_ROOT"
3206
- | "RESOLVE_NO_MAGICLINKS"
3207
- | "RESOLVE_NO_SYMLINKS"
3208
- | "RESOLVE_NO_XDEV" => true ,
3209
-
3210
3137
// FIXME: Not currently available in headers on ARM, MIPS and musl.
3211
3138
"NETLINK_GET_STRICT_CHK" if arm || mips || musl => true ,
3212
3139
@@ -3233,36 +3160,17 @@ fn test_linux(target: &str) {
3233
3160
3234
3161
// is a private value for kernel usage normally
3235
3162
"FUSE_SUPER_MAGIC" => true ,
3236
- // linux 5.12 min
3237
- "MPOL_F_NUMA_BALANCING" => true ,
3163
+
3238
3164
// linux 5.17 min
3239
3165
"PR_SET_VMA" | "PR_SET_VMA_ANON_NAME" => true ,
3240
3166
3241
- // GRND_INSECURE was added in glibc-2.32
3242
- "GRND_INSECURE" => true ,
3243
-
3244
3167
// present in recent kernels only
3245
3168
"PR_PAC_SET_ENABLED_KEYS" | "PR_PAC_GET_ENABLED_KEYS" => true ,
3246
3169
3247
3170
// Added in Linux 5.14
3248
3171
"FUTEX_LOCK_PI2" => true ,
3249
3172
3250
3173
// FIXME: Parts of netfilter/nfnetlink*.h require more recent kernel headers:
3251
- | "NFNL_SUBSYS_HOOK" // v5.14+
3252
- | "NFNL_SUBSYS_COUNT" // bumped in v5.14
3253
- | "NFQA_VLAN" // v4.7+
3254
- | "NFQA_L2HDR" // v4.7+
3255
- | "NFQA_PRIORITY" // v5.18+
3256
- | "NFQA_VLAN_UNSPEC" // v4.7+
3257
- | "NFQA_VLAN_PROTO" // v4.7+
3258
- | "NFQA_VLAN_TCI" // v4.7+
3259
- | "NFULA_VLAN" // v5.4+
3260
- | "NFULA_L2HDR" // v5.4+
3261
- | "NFULA_VLAN_UNSPEC" // v5.4+
3262
- | "NFULA_VLAN_PROTO" // v5.4+
3263
- | "NFULA_VLAN_TCI" => true , // v5.4+
3264
- | "RTNLGRP_NEXTHOP" // linux v5.3+
3265
- | "RTNLGRP_BRVLAN" // linux v5.6+
3266
3174
| "RTNLGRP_MCTP_IFADDR" // linux v5.17+
3267
3175
| "RTNLGRP_TUNNEL" // linux v5.18+
3268
3176
| "RTNLGRP_STATS" // linux v5.18+
0 commit comments