diff --git a/glibc-RHEL-107695-1.patch b/glibc-RHEL-107695-1.patch new file mode 100644 index 0000000..ad3ab8f --- /dev/null +++ b/glibc-RHEL-107695-1.patch @@ -0,0 +1,812 @@ +commit 3de2f8755c6c036dcd0b1f4acd6bcdefe0e775c0 +Author: Joseph Myers +Date: Wed Mar 13 13:57:56 2024 +0000 + + Update syscall lists for Linux 6.8 + + Linux 6.8 adds five new syscalls. Update syscall-names.list and + regenerate the arch-syscall.h headers with build-many-glibcs.py + update-syscalls. + + Tested with build-many-glibcs.py. + +diff --git a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h +index 1713897f85551c50..7ee8a2167aaae172 100644 +--- a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h +@@ -122,12 +122,16 @@ + #define __NR_lgetxattr 9 + #define __NR_linkat 37 + #define __NR_listen 201 ++#define __NR_listmount 458 + #define __NR_listxattr 11 + #define __NR_llistxattr 12 + #define __NR_lookup_dcookie 18 + #define __NR_lremovexattr 15 + #define __NR_lseek 62 + #define __NR_lsetxattr 6 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_madvise 233 + #define __NR_map_shadow_stack 453 + #define __NR_mbind 235 +@@ -276,6 +280,7 @@ + #define __NR_socketpair 199 + #define __NR_splice 76 + #define __NR_statfs 43 ++#define __NR_statmount 457 + #define __NR_statx 291 + #define __NR_swapoff 225 + #define __NR_swapon 224 +diff --git a/sysdeps/unix/sysv/linux/alpha/arch-syscall.h b/sysdeps/unix/sysv/linux/alpha/arch-syscall.h +index 5457d2d8ae45e8ec..0f4ea7670be610be 100644 +--- a/sysdeps/unix/sysv/linux/alpha/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/alpha/arch-syscall.h +@@ -150,12 +150,16 @@ + #define __NR_link 9 + #define __NR_linkat 458 + #define __NR_listen 106 ++#define __NR_listmount 568 + #define __NR_listxattr 388 + #define __NR_llistxattr 389 + #define __NR_lookup_dcookie 406 + #define __NR_lremovexattr 392 + #define __NR_lseek 19 + #define __NR_lsetxattr 383 ++#define __NR_lsm_get_self_attr 569 ++#define __NR_lsm_list_modules 571 ++#define __NR_lsm_set_self_attr 570 + #define __NR_lstat 68 + #define __NR_lstat64 426 + #define __NR_madvise 75 +@@ -441,6 +445,7 @@ + #define __NR_stat64 425 + #define __NR_statfs 328 + #define __NR_statfs64 528 ++#define __NR_statmount 567 + #define __NR_statx 522 + #define __NR_swapoff 304 + #define __NR_swapon 322 +diff --git a/sysdeps/unix/sysv/linux/arc/arch-syscall.h b/sysdeps/unix/sysv/linux/arc/arch-syscall.h +index a66471c83ae56383..90359482a814b3f8 100644 +--- a/sysdeps/unix/sysv/linux/arc/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/arc/arch-syscall.h +@@ -126,12 +126,16 @@ + #define __NR_lgetxattr 9 + #define __NR_linkat 37 + #define __NR_listen 201 ++#define __NR_listmount 458 + #define __NR_listxattr 11 + #define __NR_llistxattr 12 + #define __NR_llseek 62 + #define __NR_lookup_dcookie 18 + #define __NR_lremovexattr 15 + #define __NR_lsetxattr 6 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_madvise 233 + #define __NR_map_shadow_stack 453 + #define __NR_mbind 235 +@@ -278,6 +282,7 @@ + #define __NR_socketpair 199 + #define __NR_splice 76 + #define __NR_statfs64 43 ++#define __NR_statmount 457 + #define __NR_statx 291 + #define __NR_swapoff 225 + #define __NR_swapon 224 +diff --git a/sysdeps/unix/sysv/linux/arm/arch-syscall.h b/sysdeps/unix/sysv/linux/arm/arch-syscall.h +index 74a57f4520dab365..4930167a03c97df2 100644 +--- a/sysdeps/unix/sysv/linux/arm/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/arm/arch-syscall.h +@@ -164,12 +164,16 @@ + #define __NR_link 9 + #define __NR_linkat 330 + #define __NR_listen 284 ++#define __NR_listmount 458 + #define __NR_listxattr 232 + #define __NR_llistxattr 233 + #define __NR_lookup_dcookie 249 + #define __NR_lremovexattr 236 + #define __NR_lseek 19 + #define __NR_lsetxattr 227 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_lstat 107 + #define __NR_lstat64 196 + #define __NR_madvise 220 +@@ -361,6 +365,7 @@ + #define __NR_stat64 195 + #define __NR_statfs 99 + #define __NR_statfs64 266 ++#define __NR_statmount 457 + #define __NR_statx 397 + #define __NR_swapoff 115 + #define __NR_swapon 87 +diff --git a/sysdeps/unix/sysv/linux/csky/arch-syscall.h b/sysdeps/unix/sysv/linux/csky/arch-syscall.h +index ba7632e0182573d0..3f16a29f5753e7a8 100644 +--- a/sysdeps/unix/sysv/linux/csky/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/csky/arch-syscall.h +@@ -131,12 +131,16 @@ + #define __NR_lgetxattr 9 + #define __NR_linkat 37 + #define __NR_listen 201 ++#define __NR_listmount 458 + #define __NR_listxattr 11 + #define __NR_llistxattr 12 + #define __NR_llseek 62 + #define __NR_lookup_dcookie 18 + #define __NR_lremovexattr 15 + #define __NR_lsetxattr 6 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_madvise 233 + #define __NR_map_shadow_stack 453 + #define __NR_mbind 235 +@@ -291,6 +295,7 @@ + #define __NR_socketpair 199 + #define __NR_splice 76 + #define __NR_statfs64 43 ++#define __NR_statmount 457 + #define __NR_statx 291 + #define __NR_swapoff 225 + #define __NR_swapon 224 +diff --git a/sysdeps/unix/sysv/linux/hppa/arch-syscall.h b/sysdeps/unix/sysv/linux/hppa/arch-syscall.h +index 483706de9bec060c..a1b2c819d6522018 100644 +--- a/sysdeps/unix/sysv/linux/hppa/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/hppa/arch-syscall.h +@@ -155,12 +155,16 @@ + #define __NR_link 9 + #define __NR_linkat 283 + #define __NR_listen 32 ++#define __NR_listmount 458 + #define __NR_listxattr 244 + #define __NR_llistxattr 245 + #define __NR_lookup_dcookie 223 + #define __NR_lremovexattr 248 + #define __NR_lseek 19 + #define __NR_lsetxattr 239 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_lstat 84 + #define __NR_lstat64 198 + #define __NR_madvise 119 +@@ -339,6 +343,7 @@ + #define __NR_stat64 101 + #define __NR_statfs 99 + #define __NR_statfs64 298 ++#define __NR_statmount 457 + #define __NR_statx 349 + #define __NR_stime 25 + #define __NR_swapoff 115 +diff --git a/sysdeps/unix/sysv/linux/i386/arch-syscall.h b/sysdeps/unix/sysv/linux/i386/arch-syscall.h +index 21c1308bb327a1b3..cc775432d663a745 100644 +--- a/sysdeps/unix/sysv/linux/i386/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/i386/arch-syscall.h +@@ -176,6 +176,7 @@ + #define __NR_link 9 + #define __NR_linkat 303 + #define __NR_listen 363 ++#define __NR_listmount 458 + #define __NR_listxattr 232 + #define __NR_llistxattr 233 + #define __NR_lock 53 +@@ -183,6 +184,9 @@ + #define __NR_lremovexattr 236 + #define __NR_lseek 19 + #define __NR_lsetxattr 227 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_lstat 107 + #define __NR_lstat64 196 + #define __NR_madvise 219 +@@ -386,6 +390,7 @@ + #define __NR_stat64 195 + #define __NR_statfs 99 + #define __NR_statfs64 268 ++#define __NR_statmount 457 + #define __NR_statx 383 + #define __NR_stime 25 + #define __NR_stty 31 +diff --git a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h +index f6a434630ebaa542..56bb08718ad32c04 100644 +--- a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h +@@ -120,12 +120,16 @@ + #define __NR_lgetxattr 9 + #define __NR_linkat 37 + #define __NR_listen 201 ++#define __NR_listmount 458 + #define __NR_listxattr 11 + #define __NR_llistxattr 12 + #define __NR_lookup_dcookie 18 + #define __NR_lremovexattr 15 + #define __NR_lseek 62 + #define __NR_lsetxattr 6 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_madvise 233 + #define __NR_map_shadow_stack 453 + #define __NR_mbind 235 +@@ -270,6 +274,7 @@ + #define __NR_socketpair 199 + #define __NR_splice 76 + #define __NR_statfs 43 ++#define __NR_statmount 457 + #define __NR_statx 291 + #define __NR_swapoff 225 + #define __NR_swapon 224 +diff --git a/sysdeps/unix/sysv/linux/m68k/arch-syscall.h b/sysdeps/unix/sysv/linux/m68k/arch-syscall.h +index 6d788e3440b1082c..79f277dd5b8eda7b 100644 +--- a/sysdeps/unix/sysv/linux/m68k/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/m68k/arch-syscall.h +@@ -171,12 +171,16 @@ + #define __NR_link 9 + #define __NR_linkat 296 + #define __NR_listen 360 ++#define __NR_listmount 458 + #define __NR_listxattr 229 + #define __NR_llistxattr 230 + #define __NR_lookup_dcookie 248 + #define __NR_lremovexattr 233 + #define __NR_lseek 19 + #define __NR_lsetxattr 224 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_lstat 107 + #define __NR_lstat64 196 + #define __NR_madvise 238 +@@ -373,6 +377,7 @@ + #define __NR_stat64 195 + #define __NR_statfs 99 + #define __NR_statfs64 263 ++#define __NR_statmount 457 + #define __NR_statx 379 + #define __NR_stime 25 + #define __NR_swapoff 115 +diff --git a/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h b/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h +index 91e1630f7b2e07a4..779d5d5d7029d8ff 100644 +--- a/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h +@@ -176,6 +176,7 @@ + #define __NR_link 9 + #define __NR_linkat 303 + #define __NR_listen 348 ++#define __NR_listmount 458 + #define __NR_listxattr 232 + #define __NR_llistxattr 233 + #define __NR_lock 53 +@@ -183,6 +184,9 @@ + #define __NR_lremovexattr 236 + #define __NR_lseek 19 + #define __NR_lsetxattr 227 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_lstat 107 + #define __NR_lstat64 196 + #define __NR_madvise 219 +@@ -389,6 +393,7 @@ + #define __NR_stat64 195 + #define __NR_statfs 99 + #define __NR_statfs64 268 ++#define __NR_statmount 457 + #define __NR_statx 398 + #define __NR_stime 25 + #define __NR_stty 31 +diff --git a/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h +index d75af9746764cc0a..86ffd5ce84556c20 100644 +--- a/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h +@@ -166,6 +166,7 @@ + #define __NR_link 4009 + #define __NR_linkat 4296 + #define __NR_listen 4174 ++#define __NR_listmount 4458 + #define __NR_listxattr 4230 + #define __NR_llistxattr 4231 + #define __NR_lock 4053 +@@ -173,6 +174,9 @@ + #define __NR_lremovexattr 4234 + #define __NR_lseek 4019 + #define __NR_lsetxattr 4225 ++#define __NR_lsm_get_self_attr 4459 ++#define __NR_lsm_list_modules 4461 ++#define __NR_lsm_set_self_attr 4460 + #define __NR_lstat 4107 + #define __NR_lstat64 4214 + #define __NR_madvise 4218 +@@ -362,6 +366,7 @@ + #define __NR_stat64 4213 + #define __NR_statfs 4099 + #define __NR_statfs64 4255 ++#define __NR_statmount 4457 + #define __NR_statx 4366 + #define __NR_stime 4025 + #define __NR_stty 4031 +diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h +index 05bf7d251da60f51..5d37a686e511a499 100644 +--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h +@@ -154,12 +154,16 @@ + #define __NR_link 6084 + #define __NR_linkat 6259 + #define __NR_listen 6049 ++#define __NR_listmount 6458 + #define __NR_listxattr 6186 + #define __NR_llistxattr 6187 + #define __NR_lookup_dcookie 6206 + #define __NR_lremovexattr 6190 + #define __NR_lseek 6008 + #define __NR_lsetxattr 6181 ++#define __NR_lsm_get_self_attr 6459 ++#define __NR_lsm_list_modules 6461 ++#define __NR_lsm_set_self_attr 6460 + #define __NR_lstat 6006 + #define __NR_madvise 6027 + #define __NR_map_shadow_stack 6453 +@@ -332,6 +336,7 @@ + #define __NR_stat 6004 + #define __NR_statfs 6134 + #define __NR_statfs64 6217 ++#define __NR_statmount 6457 + #define __NR_statx 6330 + #define __NR_swapoff 6163 + #define __NR_swapon 6162 +diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h +index 41ffaf32550a6609..9b1e846e7646d791 100644 +--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h +@@ -145,12 +145,16 @@ + #define __NR_link 5084 + #define __NR_linkat 5255 + #define __NR_listen 5049 ++#define __NR_listmount 5458 + #define __NR_listxattr 5186 + #define __NR_llistxattr 5187 + #define __NR_lookup_dcookie 5206 + #define __NR_lremovexattr 5190 + #define __NR_lseek 5008 + #define __NR_lsetxattr 5181 ++#define __NR_lsm_get_self_attr 5459 ++#define __NR_lsm_list_modules 5461 ++#define __NR_lsm_set_self_attr 5460 + #define __NR_lstat 5006 + #define __NR_madvise 5027 + #define __NR_map_shadow_stack 5453 +@@ -313,6 +317,7 @@ + #define __NR_splice 5263 + #define __NR_stat 5004 + #define __NR_statfs 5134 ++#define __NR_statmount 5457 + #define __NR_statx 5326 + #define __NR_swapoff 5163 + #define __NR_swapon 5162 +diff --git a/sysdeps/unix/sysv/linux/nios2/arch-syscall.h b/sysdeps/unix/sysv/linux/nios2/arch-syscall.h +index d94e7e9ee987a349..abbc9ab6b083be80 100644 +--- a/sysdeps/unix/sysv/linux/nios2/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/nios2/arch-syscall.h +@@ -130,12 +130,16 @@ + #define __NR_lgetxattr 9 + #define __NR_linkat 37 + #define __NR_listen 201 ++#define __NR_listmount 458 + #define __NR_listxattr 11 + #define __NR_llistxattr 12 + #define __NR_llseek 62 + #define __NR_lookup_dcookie 18 + #define __NR_lremovexattr 15 + #define __NR_lsetxattr 6 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_madvise 233 + #define __NR_map_shadow_stack 453 + #define __NR_mbind 235 +@@ -290,6 +294,7 @@ + #define __NR_socketpair 199 + #define __NR_splice 76 + #define __NR_statfs64 43 ++#define __NR_statmount 457 + #define __NR_statx 291 + #define __NR_swapoff 225 + #define __NR_swapon 224 +diff --git a/sysdeps/unix/sysv/linux/or1k/arch-syscall.h b/sysdeps/unix/sysv/linux/or1k/arch-syscall.h +index 39295a6f94c6f5b0..7223a93673d9c6f7 100644 +--- a/sysdeps/unix/sysv/linux/or1k/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/or1k/arch-syscall.h +@@ -130,12 +130,16 @@ + #define __NR_lgetxattr 9 + #define __NR_linkat 37 + #define __NR_listen 201 ++#define __NR_listmount 458 + #define __NR_listxattr 11 + #define __NR_llistxattr 12 + #define __NR_llseek 62 + #define __NR_lookup_dcookie 18 + #define __NR_lremovexattr 15 + #define __NR_lsetxattr 6 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_madvise 233 + #define __NR_map_shadow_stack 453 + #define __NR_mbind 235 +@@ -291,6 +295,7 @@ + #define __NR_socketpair 199 + #define __NR_splice 76 + #define __NR_statfs64 43 ++#define __NR_statmount 457 + #define __NR_statx 291 + #define __NR_swapoff 225 + #define __NR_swapon 224 +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h +index b5522e8889d505a8..af0d2b121ebc7dc7 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h +@@ -166,6 +166,7 @@ + #define __NR_link 9 + #define __NR_linkat 294 + #define __NR_listen 329 ++#define __NR_listmount 458 + #define __NR_listxattr 215 + #define __NR_llistxattr 216 + #define __NR_lock 53 +@@ -173,6 +174,9 @@ + #define __NR_lremovexattr 219 + #define __NR_lseek 19 + #define __NR_lsetxattr 210 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_lstat 107 + #define __NR_lstat64 196 + #define __NR_madvise 205 +@@ -374,6 +378,7 @@ + #define __NR_stat64 195 + #define __NR_statfs 99 + #define __NR_statfs64 252 ++#define __NR_statmount 457 + #define __NR_statx 383 + #define __NR_stime 25 + #define __NR_stty 31 +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h +index 162d782ae6f48975..a4c70aa7fe719cb9 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h +@@ -154,6 +154,7 @@ + #define __NR_link 9 + #define __NR_linkat 294 + #define __NR_listen 329 ++#define __NR_listmount 458 + #define __NR_listxattr 215 + #define __NR_llistxattr 216 + #define __NR_lock 53 +@@ -161,6 +162,9 @@ + #define __NR_lremovexattr 219 + #define __NR_lseek 19 + #define __NR_lsetxattr 210 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_lstat 107 + #define __NR_madvise 205 + #define __NR_map_shadow_stack 453 +@@ -352,6 +356,7 @@ + #define __NR_stat 106 + #define __NR_statfs 99 + #define __NR_statfs64 252 ++#define __NR_statmount 457 + #define __NR_statx 383 + #define __NR_stime 25 + #define __NR_stty 31 +diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h +index 013222e5deb65c8d..7315d164d64c89fa 100644 +--- a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h +@@ -117,12 +117,16 @@ + #define __NR_lgetxattr 9 + #define __NR_linkat 37 + #define __NR_listen 201 ++#define __NR_listmount 458 + #define __NR_listxattr 11 + #define __NR_llistxattr 12 + #define __NR_llseek 62 + #define __NR_lookup_dcookie 18 + #define __NR_lremovexattr 15 + #define __NR_lsetxattr 6 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_madvise 233 + #define __NR_map_shadow_stack 453 + #define __NR_mbind 235 +@@ -268,6 +272,7 @@ + #define __NR_socketpair 199 + #define __NR_splice 76 + #define __NR_statfs64 43 ++#define __NR_statmount 457 + #define __NR_statx 291 + #define __NR_swapoff 225 + #define __NR_swapon 224 +diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h +index d03dad82008fb2a1..31a1130db9404e60 100644 +--- a/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h +@@ -122,12 +122,16 @@ + #define __NR_lgetxattr 9 + #define __NR_linkat 37 + #define __NR_listen 201 ++#define __NR_listmount 458 + #define __NR_listxattr 11 + #define __NR_llistxattr 12 + #define __NR_lookup_dcookie 18 + #define __NR_lremovexattr 15 + #define __NR_lseek 62 + #define __NR_lsetxattr 6 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_madvise 233 + #define __NR_map_shadow_stack 453 + #define __NR_mbind 235 +@@ -277,6 +281,7 @@ + #define __NR_socketpair 199 + #define __NR_splice 76 + #define __NR_statfs 43 ++#define __NR_statmount 457 + #define __NR_statx 291 + #define __NR_swapoff 225 + #define __NR_swapon 224 +diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h b/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h +index 98e6b68b3153b89b..cf8569304d9e6a16 100644 +--- a/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h +@@ -171,12 +171,16 @@ + #define __NR_link 9 + #define __NR_linkat 296 + #define __NR_listen 363 ++#define __NR_listmount 458 + #define __NR_listxattr 230 + #define __NR_llistxattr 231 + #define __NR_lookup_dcookie 110 + #define __NR_lremovexattr 234 + #define __NR_lseek 19 + #define __NR_lsetxattr 225 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_lstat 107 + #define __NR_lstat64 196 + #define __NR_madvise 219 +@@ -372,6 +376,7 @@ + #define __NR_stat64 195 + #define __NR_statfs 99 + #define __NR_statfs64 265 ++#define __NR_statmount 457 + #define __NR_statx 379 + #define __NR_stime 25 + #define __NR_swapoff 115 +diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h b/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h +index 951fbd7c97ff71d3..f3536ed03f4b7d85 100644 +--- a/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h +@@ -146,12 +146,16 @@ + #define __NR_link 9 + #define __NR_linkat 296 + #define __NR_listen 363 ++#define __NR_listmount 458 + #define __NR_listxattr 230 + #define __NR_llistxattr 231 + #define __NR_lookup_dcookie 110 + #define __NR_lremovexattr 234 + #define __NR_lseek 19 + #define __NR_lsetxattr 225 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_lstat 107 + #define __NR_madvise 219 + #define __NR_map_shadow_stack 453 +@@ -329,6 +333,7 @@ + #define __NR_stat 106 + #define __NR_statfs 99 + #define __NR_statfs64 265 ++#define __NR_statmount 457 + #define __NR_statx 379 + #define __NR_swapoff 115 + #define __NR_swapon 87 +diff --git a/sysdeps/unix/sysv/linux/sh/arch-syscall.h b/sysdeps/unix/sysv/linux/sh/arch-syscall.h +index 6b4418bcae4390ae..0c88bf10c77bef3a 100644 +--- a/sysdeps/unix/sysv/linux/sh/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/sh/arch-syscall.h +@@ -164,12 +164,16 @@ + #define __NR_link 9 + #define __NR_linkat 303 + #define __NR_listen 343 ++#define __NR_listmount 458 + #define __NR_listxattr 232 + #define __NR_llistxattr 233 + #define __NR_lookup_dcookie 253 + #define __NR_lremovexattr 236 + #define __NR_lseek 19 + #define __NR_lsetxattr 227 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_lstat 107 + #define __NR_lstat64 196 + #define __NR_madvise 219 +@@ -365,6 +369,7 @@ + #define __NR_stat64 195 + #define __NR_statfs 99 + #define __NR_statfs64 268 ++#define __NR_statmount 457 + #define __NR_statx 383 + #define __NR_stime 25 + #define __NR_swapoff 115 +diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h b/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h +index 4f9460b1a3e1a353..19fa614624dc2b85 100644 +--- a/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h +@@ -169,12 +169,16 @@ + #define __NR_link 9 + #define __NR_linkat 292 + #define __NR_listen 354 ++#define __NR_listmount 458 + #define __NR_listxattr 178 + #define __NR_llistxattr 179 + #define __NR_lookup_dcookie 208 + #define __NR_lremovexattr 182 + #define __NR_lseek 19 + #define __NR_lsetxattr 170 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_lstat 40 + #define __NR_lstat64 132 + #define __NR_madvise 75 +@@ -370,6 +374,7 @@ + #define __NR_stat64 139 + #define __NR_statfs 157 + #define __NR_statfs64 234 ++#define __NR_statmount 457 + #define __NR_statx 360 + #define __NR_stime 233 + #define __NR_swapoff 213 +diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h b/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h +index 129ce50646596a95..18516f20cbf25d77 100644 +--- a/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h +@@ -152,12 +152,16 @@ + #define __NR_link 9 + #define __NR_linkat 292 + #define __NR_listen 354 ++#define __NR_listmount 458 + #define __NR_listxattr 178 + #define __NR_llistxattr 179 + #define __NR_lookup_dcookie 208 + #define __NR_lremovexattr 182 + #define __NR_lseek 19 + #define __NR_lsetxattr 170 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_lstat 40 + #define __NR_lstat64 132 + #define __NR_madvise 75 +@@ -339,6 +343,7 @@ + #define __NR_stat64 139 + #define __NR_statfs 157 + #define __NR_statfs64 234 ++#define __NR_statmount 457 + #define __NR_statx 360 + #define __NR_stime 233 + #define __NR_swapoff 213 +diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list +index aac065e7b327528e..6557bcfde4636158 100644 +--- a/sysdeps/unix/sysv/linux/syscall-names.list ++++ b/sysdeps/unix/sysv/linux/syscall-names.list +@@ -21,8 +21,8 @@ + # This file can list all potential system calls. The names are only + # used if the installed kernel headers also provide them. + +-# The list of system calls is current as of Linux 6.7. +-kernel 6.7 ++# The list of system calls is current as of Linux 6.8. ++kernel 6.8 + + FAST_atomic_update + FAST_cmpxchg +@@ -239,6 +239,7 @@ lgetxattr + link + linkat + listen ++listmount + listxattr + llistxattr + llseek +@@ -247,6 +248,9 @@ lookup_dcookie + lremovexattr + lseek + lsetxattr ++lsm_get_self_attr ++lsm_list_modules ++lsm_set_self_attr + lstat + lstat64 + madvise +@@ -593,6 +597,7 @@ stat + stat64 + statfs + statfs64 ++statmount + statx + stime + stty +diff --git a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h +index 4fa5b942c5f8e9b7..b1222160135310ec 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h +@@ -149,12 +149,16 @@ + #define __NR_link 86 + #define __NR_linkat 265 + #define __NR_listen 50 ++#define __NR_listmount 458 + #define __NR_listxattr 194 + #define __NR_llistxattr 195 + #define __NR_lookup_dcookie 212 + #define __NR_lremovexattr 198 + #define __NR_lseek 8 + #define __NR_lsetxattr 189 ++#define __NR_lsm_get_self_attr 459 ++#define __NR_lsm_list_modules 461 ++#define __NR_lsm_set_self_attr 460 + #define __NR_lstat 6 + #define __NR_madvise 28 + #define __NR_map_shadow_stack 453 +@@ -321,6 +325,7 @@ + #define __NR_splice 275 + #define __NR_stat 4 + #define __NR_statfs 137 ++#define __NR_statmount 457 + #define __NR_statx 332 + #define __NR_swapoff 168 + #define __NR_swapon 167 +diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h +index 645e85802f95a78c..df3e22236dd3bb0e 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h +@@ -143,12 +143,16 @@ + #define __NR_link 1073741910 + #define __NR_linkat 1073742089 + #define __NR_listen 1073741874 ++#define __NR_listmount 1073742282 + #define __NR_listxattr 1073742018 + #define __NR_llistxattr 1073742019 + #define __NR_lookup_dcookie 1073742036 + #define __NR_lremovexattr 1073742022 + #define __NR_lseek 1073741832 + #define __NR_lsetxattr 1073742013 ++#define __NR_lsm_get_self_attr 1073742283 ++#define __NR_lsm_list_modules 1073742285 ++#define __NR_lsm_set_self_attr 1073742284 + #define __NR_lstat 1073741830 + #define __NR_madvise 1073741852 + #define __NR_map_shadow_stack 1073742277 +@@ -313,6 +317,7 @@ + #define __NR_splice 1073742099 + #define __NR_stat 1073741828 + #define __NR_statfs 1073741961 ++#define __NR_statmount 1073742281 + #define __NR_statx 1073742156 + #define __NR_swapoff 1073741992 + #define __NR_swapon 1073741991 diff --git a/glibc-RHEL-107695-10.patch b/glibc-RHEL-107695-10.patch new file mode 100644 index 0000000..740e1d1 --- /dev/null +++ b/glibc-RHEL-107695-10.patch @@ -0,0 +1,59 @@ +commit 86f06282ccb1b11de7a07fc10f7b77991b7d121a +Author: Adhemerval Zanella +Date: Tue Oct 8 15:45:25 2024 -0300 + + Update PIDFD_* constants for Linux 6.11 + + Linux 6.11 adds some more PIDFD_* constants for 'pidfs: allow retrieval + of namespace file descriptors' + (5b08bd408534bfb3a7cf5778da5b27d4e4fffe12). + + Tested with build-many-glibcs.py. + + Reviewed-by: H.J. Lu + +diff --git a/sysdeps/unix/sysv/linux/sys/pidfd.h b/sysdeps/unix/sysv/linux/sys/pidfd.h +index 9f88d297e884c348..85d976939b6f01fa 100644 +--- a/sysdeps/unix/sysv/linux/sys/pidfd.h ++++ b/sysdeps/unix/sysv/linux/sys/pidfd.h +@@ -20,6 +20,7 @@ + + #include + #include ++#include + + #define PIDFD_NONBLOCK O_NONBLOCK + #define PIDFD_THREAD O_EXCL +@@ -28,6 +29,19 @@ + #define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1) + #define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2) + ++#define PIDFS_IOCTL_MAGIC 0xFF ++ ++#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1) ++#define PIDFD_GET_IPC_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 2) ++#define PIDFD_GET_MNT_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 3) ++#define PIDFD_GET_NET_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 4) ++#define PIDFD_GET_PID_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 5) ++#define PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 6) ++#define PIDFD_GET_TIME_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 7) ++#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8) ++#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9) ++#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10) ++ + /* Returns a file descriptor that refers to the process PID. The + close-on-exec is set on the file descriptor. */ + extern int pidfd_open (__pid_t __pid, unsigned int __flags) __THROW; +diff --git a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py +index 9824fd214d477fd0..9d53102cbd73dc84 100644 +--- a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py +@@ -39,7 +39,7 @@ def main(): + sys.exit (77) + + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- linux_version_glibc = (6, 10) ++ linux_version_glibc = (6, 11) + sys.exit(glibcextract.compare_macro_consts( + '#include \n', + '#include \n' diff --git a/glibc-RHEL-107695-11.patch b/glibc-RHEL-107695-11.patch new file mode 100644 index 0000000..9d10c11 --- /dev/null +++ b/glibc-RHEL-107695-11.patch @@ -0,0 +1,61 @@ +commit f6e849fd7ce2a8954022bd23b94703975b3db0d1 +Author: Adhemerval Zanella +Date: Tue Oct 8 15:45:26 2024 -0300 + + linux: Add MAP_DROPPABLE from Linux 6.11 + + This request the page to be never written out to swap, it will be zeroed + under memory pressure (so kernel can just drop the page), it is inherited + by fork, it is not counted against @code{mlock} budget, and if there is + no enough memory to service a page faults there is no fatal error (so not + signal is sent). + + Tested with build-many-glibcs.py. + + Reviewed-by: H.J. Lu + +diff --git a/manual/llio.texi b/manual/llio.texi +index 17fe1181d5cc2cef..a8ed72c5db6ecba9 100644 +--- a/manual/llio.texi ++++ b/manual/llio.texi +@@ -1647,6 +1647,15 @@ The @code{MAP_HUGETLB} flag is specific to Linux. + @c user programs (and I don't understand the last two). MAP_LOCKED does + @c not appear to be implemented. + ++@item MAP_DROPPABLE ++Request the page to be never written out to swap, it will be zeroed ++under memory pressure (so kernel can just drop the page), it is inherited ++by fork, it is not counted against @code{mlock} budget, and if there is ++not enough memory to service a page fault there is no fatal error (so no ++signal is sent). ++ ++The @code{MAP_DROPPABLE} flag is specific to Linux. ++ + @end vtable + + @code{mmap} returns the address of the new mapping, or +diff --git a/sysdeps/unix/sysv/linux/bits/mman-linux.h b/sysdeps/unix/sysv/linux/bits/mman-linux.h +index 522333c50a04481d..161a88509682cf69 100644 +--- a/sysdeps/unix/sysv/linux/bits/mman-linux.h ++++ b/sysdeps/unix/sysv/linux/bits/mman-linux.h +@@ -43,6 +43,7 @@ + #define MAP_PRIVATE 0x02 /* Changes are private. */ + #define MAP_SHARED_VALIDATE 0x03 /* Share changes and validate + extension flags. */ ++#define MAP_DROPPABLE 0x08 /* Zero memory under memory pressure. */ + #define MAP_TYPE 0x0f /* Mask for type of mapping. */ + + /* Other flags. */ +diff --git a/sysdeps/unix/sysv/linux/tst-mman-consts.py b/sysdeps/unix/sysv/linux/tst-mman-consts.py +index a1137eb1d59d95ec..2191bea36f8f69e0 100644 +--- a/sysdeps/unix/sysv/linux/tst-mman-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-mman-consts.py +@@ -33,7 +33,7 @@ def main(): + help='C compiler (including options) to use') + args = parser.parse_args() + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- linux_version_glibc = (6, 10) ++ linux_version_glibc = (6, 11) + sys.exit(glibcextract.compare_macro_consts( + '#define _GNU_SOURCE 1\n' + '#include \n', diff --git a/glibc-RHEL-107695-12.patch b/glibc-RHEL-107695-12.patch new file mode 100644 index 0000000..c59be2a --- /dev/null +++ b/glibc-RHEL-107695-12.patch @@ -0,0 +1,41 @@ +commit 934d0bf426ffa58f88cebd219b08742ca21e3365 +Author: Adhemerval Zanella +Date: Tue Oct 8 15:45:27 2024 -0300 + + Update kernel version to 6.11 in header constant tests + + This patch updates the kernel version in the tests tst-mount-consts.py, + and tst-sched-consts.py to 6.11. + + There are no new constants covered by these tests in 6.11. + + Tested with build-many-glibcs.py. + + Reviewed-by: H.J. Lu + +diff --git a/sysdeps/unix/sysv/linux/tst-mount-consts.py b/sysdeps/unix/sysv/linux/tst-mount-consts.py +index 675f1790b64dd34e..b71d8a489daf0865 100755 +--- a/sysdeps/unix/sysv/linux/tst-mount-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-mount-consts.py +@@ -42,7 +42,7 @@ def main(): + # Constants in glibc were updated to match Linux v6.10. When glibc + # constants are updated this value should be updated to match the + # released kernel version from which the constants were taken. +- linux_version_glibc = (6, 10) ++ linux_version_glibc = (6, 11) + def check(cte, exclude=None): + return glibcextract.compare_macro_consts( + '#include \n', +diff --git a/sysdeps/unix/sysv/linux/tst-sched-consts.py b/sysdeps/unix/sysv/linux/tst-sched-consts.py +index 70071dcd974fe064..f06ac400bddc7339 100644 +--- a/sysdeps/unix/sysv/linux/tst-sched-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-sched-consts.py +@@ -33,7 +33,7 @@ def main(): + help='C compiler (including options) to use') + args = parser.parse_args() + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- linux_version_glibc = (6, 10) ++ linux_version_glibc = (6, 11) + sys.exit(glibcextract.compare_macro_consts( + '#define _GNU_SOURCE 1\n' + '#include \n', diff --git a/glibc-RHEL-107695-13.patch b/glibc-RHEL-107695-13.patch new file mode 100644 index 0000000..4a45428 --- /dev/null +++ b/glibc-RHEL-107695-13.patch @@ -0,0 +1,26 @@ +commit e0a0fd64b5b223fce87061fe23dbb0b30053060c +Author: Joseph Myers +Date: Wed Dec 18 15:12:36 2024 +0000 + + Update syscall lists for Linux 6.12 + + Linux 6.12 has no new syscalls. Update the version number in + syscall-names.list to reflect that it is still current for 6.12. + + Tested with build-many-glibcs.py. + +diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list +index aa5b479e2a08e7bb..d31938a002629784 100644 +--- a/sysdeps/unix/sysv/linux/syscall-names.list ++++ b/sysdeps/unix/sysv/linux/syscall-names.list +@@ -21,8 +21,8 @@ + # This file can list all potential system calls. The names are only + # used if the installed kernel headers also provide them. + +-# The list of system calls is current as of Linux 6.11. +-kernel 6.11 ++# The list of system calls is current as of Linux 6.12. ++kernel 6.12 + + FAST_atomic_update + FAST_cmpxchg diff --git a/glibc-RHEL-107695-14.patch b/glibc-RHEL-107695-14.patch new file mode 100644 index 0000000..2045994 --- /dev/null +++ b/glibc-RHEL-107695-14.patch @@ -0,0 +1,57 @@ +commit 5fcee06dc7f368770c17f9a69b59fa68119a1cec +Author: Joseph Myers +Date: Thu Dec 19 15:38:59 2024 +0000 + + Update kernel version to 6.12 in header constant tests + + There are no new constants covered by tst-mman-consts.py, + tst-mount-consts.py or tst-pidfd-consts.py in Linux 6.12 that need any + header changes, so update the kernel version in those tests. + (tst-sched-consts.py will need updating separately along with adding + SCHED_EXT.) + + Tested with build-many-glibcs.py. + +diff --git a/sysdeps/unix/sysv/linux/tst-mman-consts.py b/sysdeps/unix/sysv/linux/tst-mman-consts.py +index 2191bea36f8f69e0..584936efecbf7755 100644 +--- a/sysdeps/unix/sysv/linux/tst-mman-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-mman-consts.py +@@ -33,7 +33,7 @@ def main(): + help='C compiler (including options) to use') + args = parser.parse_args() + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- linux_version_glibc = (6, 11) ++ linux_version_glibc = (6, 12) + sys.exit(glibcextract.compare_macro_consts( + '#define _GNU_SOURCE 1\n' + '#include \n', +diff --git a/sysdeps/unix/sysv/linux/tst-mount-consts.py b/sysdeps/unix/sysv/linux/tst-mount-consts.py +index b71d8a489daf0865..e77579033b0fd8ec 100755 +--- a/sysdeps/unix/sysv/linux/tst-mount-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-mount-consts.py +@@ -39,10 +39,10 @@ def main(): + sys.exit (77) + + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- # Constants in glibc were updated to match Linux v6.10. When glibc ++ # Constants in glibc were updated to match Linux v6.12. When glibc + # constants are updated this value should be updated to match the + # released kernel version from which the constants were taken. +- linux_version_glibc = (6, 11) ++ linux_version_glibc = (6, 12) + def check(cte, exclude=None): + return glibcextract.compare_macro_consts( + '#include \n', +diff --git a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py +index 9d53102cbd73dc84..ef896394bdb12a25 100644 +--- a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py +@@ -39,7 +39,7 @@ def main(): + sys.exit (77) + + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- linux_version_glibc = (6, 11) ++ linux_version_glibc = (6, 12) + sys.exit(glibcextract.compare_macro_consts( + '#include \n', + '#include \n' diff --git a/glibc-RHEL-107695-15.patch b/glibc-RHEL-107695-15.patch new file mode 100644 index 0000000..9548647 --- /dev/null +++ b/glibc-RHEL-107695-15.patch @@ -0,0 +1,36 @@ +commit 29ae632e76e5dcb89bdbb38402af47a5040fe1d4 +Author: Joseph Myers +Date: Thu Dec 19 17:08:38 2024 +0000 + + Add SCHED_EXT from Linux 6.12 to bits/sched.h + + Linux 6.12 adds the SCHED_EXT constant. Add it to glibc's + bits/sched.h and update the kernel version in tst-sched-consts.py. + + Tested for x86_64. + +diff --git a/sysdeps/unix/sysv/linux/bits/sched.h b/sysdeps/unix/sysv/linux/bits/sched.h +index 7c75303b80c18de2..e60cb05a60027a30 100644 +--- a/sysdeps/unix/sysv/linux/bits/sched.h ++++ b/sysdeps/unix/sysv/linux/bits/sched.h +@@ -34,6 +34,7 @@ + # define SCHED_ISO 4 + # define SCHED_IDLE 5 + # define SCHED_DEADLINE 6 ++# define SCHED_EXT 7 + + /* Flags that can be used in policy values. */ + # define SCHED_RESET_ON_FORK 0x40000000 +diff --git a/sysdeps/unix/sysv/linux/tst-sched-consts.py b/sysdeps/unix/sysv/linux/tst-sched-consts.py +index f06ac400bddc7339..6a5b837334ab45f8 100644 +--- a/sysdeps/unix/sysv/linux/tst-sched-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-sched-consts.py +@@ -33,7 +33,7 @@ def main(): + help='C compiler (including options) to use') + args = parser.parse_args() + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- linux_version_glibc = (6, 11) ++ linux_version_glibc = (6, 12) + sys.exit(glibcextract.compare_macro_consts( + '#define _GNU_SOURCE 1\n' + '#include \n', diff --git a/glibc-RHEL-107695-16.patch b/glibc-RHEL-107695-16.patch new file mode 100644 index 0000000..d87bf94 --- /dev/null +++ b/glibc-RHEL-107695-16.patch @@ -0,0 +1,959 @@ +commit eea6f1e079a301dfd5c7b7f4faf38b4d6e7ea059 +Author: Joseph Myers +Date: Wed Mar 12 12:51:28 2025 +0000 + + Update syscall lists for Linux 6.13 + + Linux 6.13 adds four new syscalls. Update syscall-names.list and + regenerate the arch-syscall.h headers with build-many-glibcs.py + update-syscalls. + + Tested with build-many-glibcs.py. + +diff --git a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h +index 19b6316cb6ffae26..89aced0b453609e3 100644 +--- a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h +@@ -95,6 +95,7 @@ + #define __NR_gettimeofday 169 + #define __NR_getuid 174 + #define __NR_getxattr 8 ++#define __NR_getxattrat 464 + #define __NR_init_module 105 + #define __NR_inotify_add_watch 27 + #define __NR_inotify_init1 26 +@@ -124,6 +125,7 @@ + #define __NR_listen 201 + #define __NR_listmount 458 + #define __NR_listxattr 11 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 12 + #define __NR_lookup_dcookie 18 + #define __NR_lremovexattr 15 +@@ -212,6 +214,7 @@ + #define __NR_recvmsg 212 + #define __NR_remap_file_pages 234 + #define __NR_removexattr 14 ++#define __NR_removexattrat 466 + #define __NR_renameat 38 + #define __NR_renameat2 276 + #define __NR_request_key 218 +@@ -270,6 +273,7 @@ + #define __NR_settimeofday 170 + #define __NR_setuid 146 + #define __NR_setxattr 5 ++#define __NR_setxattrat 463 + #define __NR_shmat 196 + #define __NR_shmctl 195 + #define __NR_shmdt 197 +diff --git a/sysdeps/unix/sysv/linux/alpha/arch-syscall.h b/sysdeps/unix/sysv/linux/alpha/arch-syscall.h +index 216a5575c69d0ff3..455da93b478ab037 100644 +--- a/sysdeps/unix/sysv/linux/alpha/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/alpha/arch-syscall.h +@@ -119,6 +119,7 @@ + #define __NR_gettimeofday 359 + #define __NR_getuid 24 + #define __NR_getxattr 385 ++#define __NR_getxattrat 574 + #define __NR_getxgid 47 + #define __NR_getxpid 20 + #define __NR_getxuid 24 +@@ -153,6 +154,7 @@ + #define __NR_listen 106 + #define __NR_listmount 568 + #define __NR_listxattr 388 ++#define __NR_listxattrat 575 + #define __NR_llistxattr 389 + #define __NR_lookup_dcookie 406 + #define __NR_lremovexattr 392 +@@ -364,6 +366,7 @@ + #define __NR_recvmsg 113 + #define __NR_remap_file_pages 410 + #define __NR_removexattr 391 ++#define __NR_removexattrat 576 + #define __NR_rename 128 + #define __NR_renameat 457 + #define __NR_renameat2 510 +@@ -428,6 +431,7 @@ + #define __NR_settimeofday 360 + #define __NR_setuid 23 + #define __NR_setxattr 382 ++#define __NR_setxattrat 573 + #define __NR_shmat 209 + #define __NR_shmctl 210 + #define __NR_shmdt 211 +diff --git a/sysdeps/unix/sysv/linux/arc/arch-syscall.h b/sysdeps/unix/sysv/linux/arc/arch-syscall.h +index ea581b0a6dc0f2d4..01075e8cdfd7cd30 100644 +--- a/sysdeps/unix/sysv/linux/arc/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/arc/arch-syscall.h +@@ -98,6 +98,7 @@ + #define __NR_gettimeofday 169 + #define __NR_getuid 174 + #define __NR_getxattr 8 ++#define __NR_getxattrat 464 + #define __NR_init_module 105 + #define __NR_inotify_add_watch 27 + #define __NR_inotify_init1 26 +@@ -128,6 +129,7 @@ + #define __NR_listen 201 + #define __NR_listmount 458 + #define __NR_listxattr 11 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 12 + #define __NR_llseek 62 + #define __NR_lookup_dcookie 18 +@@ -214,6 +216,7 @@ + #define __NR_recvmsg 212 + #define __NR_remap_file_pages 234 + #define __NR_removexattr 14 ++#define __NR_removexattrat 466 + #define __NR_renameat 38 + #define __NR_renameat2 276 + #define __NR_request_key 218 +@@ -272,6 +275,7 @@ + #define __NR_settimeofday 170 + #define __NR_setuid 146 + #define __NR_setxattr 5 ++#define __NR_setxattrat 463 + #define __NR_shmat 196 + #define __NR_shmctl 195 + #define __NR_shmdt 197 +diff --git a/sysdeps/unix/sysv/linux/arm/arch-syscall.h b/sysdeps/unix/sysv/linux/arm/arch-syscall.h +index 2809f52f94e9ee16..97044727fc1e24bf 100644 +--- a/sysdeps/unix/sysv/linux/arm/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/arm/arch-syscall.h +@@ -132,6 +132,7 @@ + #define __NR_getuid 24 + #define __NR_getuid32 199 + #define __NR_getxattr 229 ++#define __NR_getxattrat 464 + #define __NR_init_module 128 + #define __NR_inotify_add_watch 317 + #define __NR_inotify_init 316 +@@ -166,6 +167,7 @@ + #define __NR_listen 284 + #define __NR_listmount 458 + #define __NR_listxattr 232 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 233 + #define __NR_lookup_dcookie 249 + #define __NR_lremovexattr 236 +@@ -271,6 +273,7 @@ + #define __NR_recvmsg 297 + #define __NR_remap_file_pages 253 + #define __NR_removexattr 235 ++#define __NR_removexattrat 466 + #define __NR_rename 38 + #define __NR_renameat 329 + #define __NR_renameat2 382 +@@ -346,6 +349,7 @@ + #define __NR_setuid 23 + #define __NR_setuid32 213 + #define __NR_setxattr 226 ++#define __NR_setxattrat 463 + #define __NR_shmat 305 + #define __NR_shmctl 308 + #define __NR_shmdt 306 +diff --git a/sysdeps/unix/sysv/linux/csky/arch-syscall.h b/sysdeps/unix/sysv/linux/csky/arch-syscall.h +index ede3551a00dc81c6..a719a55647383d4e 100644 +--- a/sysdeps/unix/sysv/linux/csky/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/csky/arch-syscall.h +@@ -103,6 +103,7 @@ + #define __NR_gettimeofday 169 + #define __NR_getuid 174 + #define __NR_getxattr 8 ++#define __NR_getxattrat 464 + #define __NR_init_module 105 + #define __NR_inotify_add_watch 27 + #define __NR_inotify_init1 26 +@@ -133,6 +134,7 @@ + #define __NR_listen 201 + #define __NR_listmount 458 + #define __NR_listxattr 11 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 12 + #define __NR_llseek 62 + #define __NR_lookup_dcookie 18 +@@ -224,6 +226,7 @@ + #define __NR_recvmsg 212 + #define __NR_remap_file_pages 234 + #define __NR_removexattr 14 ++#define __NR_removexattrat 466 + #define __NR_renameat2 276 + #define __NR_request_key 218 + #define __NR_restart_syscall 128 +@@ -285,6 +288,7 @@ + #define __NR_settimeofday 170 + #define __NR_setuid 146 + #define __NR_setxattr 5 ++#define __NR_setxattrat 463 + #define __NR_shmat 196 + #define __NR_shmctl 195 + #define __NR_shmdt 197 +diff --git a/sysdeps/unix/sysv/linux/hppa/arch-syscall.h b/sysdeps/unix/sysv/linux/hppa/arch-syscall.h +index 08b153f2ccdf6f45..dc592c58364a1804 100644 +--- a/sysdeps/unix/sysv/linux/hppa/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/hppa/arch-syscall.h +@@ -124,6 +124,7 @@ + #define __NR_gettimeofday 78 + #define __NR_getuid 24 + #define __NR_getxattr 241 ++#define __NR_getxattrat 464 + #define __NR_init_module 128 + #define __NR_inotify_add_watch 270 + #define __NR_inotify_init 269 +@@ -157,6 +158,7 @@ + #define __NR_listen 32 + #define __NR_listmount 458 + #define __NR_listxattr 244 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 245 + #define __NR_lookup_dcookie 223 + #define __NR_lremovexattr 248 +@@ -259,6 +261,7 @@ + #define __NR_recvmsg 184 + #define __NR_remap_file_pages 227 + #define __NR_removexattr 247 ++#define __NR_removexattrat 466 + #define __NR_rename 38 + #define __NR_renameat 282 + #define __NR_renameat2 337 +@@ -324,6 +327,7 @@ + #define __NR_settimeofday 79 + #define __NR_setuid 23 + #define __NR_setxattr 238 ++#define __NR_setxattrat 463 + #define __NR_sgetmask 68 + #define __NR_shmat 192 + #define __NR_shmctl 195 +diff --git a/sysdeps/unix/sysv/linux/i386/arch-syscall.h b/sysdeps/unix/sysv/linux/i386/arch-syscall.h +index 500ca1ec70e2c5fc..c10897f7b032c9fb 100644 +--- a/sysdeps/unix/sysv/linux/i386/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/i386/arch-syscall.h +@@ -140,6 +140,7 @@ + #define __NR_getuid 24 + #define __NR_getuid32 199 + #define __NR_getxattr 229 ++#define __NR_getxattrat 464 + #define __NR_gtty 32 + #define __NR_idle 112 + #define __NR_init_module 128 +@@ -178,6 +179,7 @@ + #define __NR_listen 363 + #define __NR_listmount 458 + #define __NR_listxattr 232 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 233 + #define __NR_lock 53 + #define __NR_lookup_dcookie 253 +@@ -294,6 +296,7 @@ + #define __NR_recvmsg 372 + #define __NR_remap_file_pages 257 + #define __NR_removexattr 235 ++#define __NR_removexattrat 466 + #define __NR_rename 38 + #define __NR_renameat 302 + #define __NR_renameat2 353 +@@ -367,6 +370,7 @@ + #define __NR_setuid 23 + #define __NR_setuid32 213 + #define __NR_setxattr 226 ++#define __NR_setxattrat 463 + #define __NR_sgetmask 68 + #define __NR_shmat 397 + #define __NR_shmctl 396 +diff --git a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h +index 7e732256fd4c6da7..a0d0d91a09fa57fb 100644 +--- a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h +@@ -94,6 +94,7 @@ + #define __NR_gettimeofday 169 + #define __NR_getuid 174 + #define __NR_getxattr 8 ++#define __NR_getxattrat 464 + #define __NR_init_module 105 + #define __NR_inotify_add_watch 27 + #define __NR_inotify_init1 26 +@@ -123,6 +124,7 @@ + #define __NR_listen 201 + #define __NR_listmount 458 + #define __NR_listxattr 11 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 12 + #define __NR_lookup_dcookie 18 + #define __NR_lremovexattr 15 +@@ -210,6 +212,7 @@ + #define __NR_recvmsg 212 + #define __NR_remap_file_pages 234 + #define __NR_removexattr 14 ++#define __NR_removexattrat 466 + #define __NR_renameat2 276 + #define __NR_request_key 218 + #define __NR_restart_syscall 128 +@@ -266,6 +269,7 @@ + #define __NR_settimeofday 170 + #define __NR_setuid 146 + #define __NR_setxattr 5 ++#define __NR_setxattrat 463 + #define __NR_shmat 196 + #define __NR_shmctl 195 + #define __NR_shmdt 197 +diff --git a/sysdeps/unix/sysv/linux/m68k/arch-syscall.h b/sysdeps/unix/sysv/linux/m68k/arch-syscall.h +index 4ab34f6228594c9f..715809acaf112852 100644 +--- a/sysdeps/unix/sysv/linux/m68k/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/m68k/arch-syscall.h +@@ -140,6 +140,7 @@ + #define __NR_getuid 24 + #define __NR_getuid32 199 + #define __NR_getxattr 226 ++#define __NR_getxattrat 464 + #define __NR_init_module 128 + #define __NR_inotify_add_watch 285 + #define __NR_inotify_init 284 +@@ -173,6 +174,7 @@ + #define __NR_listen 360 + #define __NR_listmount 458 + #define __NR_listxattr 229 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 230 + #define __NR_lookup_dcookie 248 + #define __NR_lremovexattr 233 +@@ -281,6 +283,7 @@ + #define __NR_recvmsg 369 + #define __NR_remap_file_pages 252 + #define __NR_removexattr 232 ++#define __NR_removexattrat 466 + #define __NR_rename 38 + #define __NR_renameat 295 + #define __NR_renameat2 351 +@@ -354,6 +357,7 @@ + #define __NR_setuid 23 + #define __NR_setuid32 213 + #define __NR_setxattr 223 ++#define __NR_setxattrat 463 + #define __NR_sgetmask 68 + #define __NR_shmat 397 + #define __NR_shmctl 396 +diff --git a/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h b/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h +index 79e225e50c6d30b4..24e218fc86b984cc 100644 +--- a/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h +@@ -140,6 +140,7 @@ + #define __NR_getuid 24 + #define __NR_getuid32 199 + #define __NR_getxattr 229 ++#define __NR_getxattrat 464 + #define __NR_gtty 32 + #define __NR_idle 112 + #define __NR_init_module 128 +@@ -178,6 +179,7 @@ + #define __NR_listen 348 + #define __NR_listmount 458 + #define __NR_listxattr 232 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 233 + #define __NR_lock 53 + #define __NR_lookup_dcookie 253 +@@ -294,6 +296,7 @@ + #define __NR_recvmsg 361 + #define __NR_remap_file_pages 257 + #define __NR_removexattr 235 ++#define __NR_removexattrat 466 + #define __NR_rename 38 + #define __NR_renameat 302 + #define __NR_renameat2 383 +@@ -370,6 +373,7 @@ + #define __NR_setuid 23 + #define __NR_setuid32 213 + #define __NR_setxattr 226 ++#define __NR_setxattrat 463 + #define __NR_sgetmask 68 + #define __NR_shmat 335 + #define __NR_shmctl 336 +diff --git a/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h +index dadd7f3130a55625..a7615cb7a0c66df6 100644 +--- a/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h +@@ -131,6 +131,7 @@ + #define __NR_gettimeofday 4078 + #define __NR_getuid 4024 + #define __NR_getxattr 4227 ++#define __NR_getxattrat 4464 + #define __NR_gtty 4032 + #define __NR_idle 4112 + #define __NR_init_module 4128 +@@ -168,6 +169,7 @@ + #define __NR_listen 4174 + #define __NR_listmount 4458 + #define __NR_listxattr 4230 ++#define __NR_listxattrat 4465 + #define __NR_llistxattr 4231 + #define __NR_lock 4053 + #define __NR_lookup_dcookie 4247 +@@ -279,6 +281,7 @@ + #define __NR_recvmsg 4177 + #define __NR_remap_file_pages 4251 + #define __NR_removexattr 4233 ++#define __NR_removexattrat 4466 + #define __NR_rename 4038 + #define __NR_renameat 4295 + #define __NR_renameat2 4351 +@@ -343,6 +346,7 @@ + #define __NR_settimeofday 4079 + #define __NR_setuid 4023 + #define __NR_setxattr 4224 ++#define __NR_setxattrat 4463 + #define __NR_sgetmask 4068 + #define __NR_shmat 4397 + #define __NR_shmctl 4396 +diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h +index db6b2d4609d87d3e..4d863c2dd29c3f3e 100644 +--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h +@@ -124,6 +124,7 @@ + #define __NR_gettimeofday 6094 + #define __NR_getuid 6100 + #define __NR_getxattr 6183 ++#define __NR_getxattrat 6464 + #define __NR_init_module 6168 + #define __NR_inotify_add_watch 6248 + #define __NR_inotify_init 6247 +@@ -156,6 +157,7 @@ + #define __NR_listen 6049 + #define __NR_listmount 6458 + #define __NR_listxattr 6186 ++#define __NR_listxattrat 6465 + #define __NR_llistxattr 6187 + #define __NR_lookup_dcookie 6206 + #define __NR_lremovexattr 6190 +@@ -258,6 +260,7 @@ + #define __NR_recvmsg 6046 + #define __NR_remap_file_pages 6210 + #define __NR_removexattr 6189 ++#define __NR_removexattrat 6466 + #define __NR_rename 6080 + #define __NR_renameat 6258 + #define __NR_renameat2 6315 +@@ -323,6 +326,7 @@ + #define __NR_settimeofday 6159 + #define __NR_setuid 6103 + #define __NR_setxattr 6180 ++#define __NR_setxattrat 6463 + #define __NR_shmat 6029 + #define __NR_shmctl 6030 + #define __NR_shmdt 6065 +diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h +index b4129a4dbdf71aec..9b6683e4c1ca9312 100644 +--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h +@@ -116,6 +116,7 @@ + #define __NR_gettimeofday 5094 + #define __NR_getuid 5100 + #define __NR_getxattr 5183 ++#define __NR_getxattrat 5464 + #define __NR_init_module 5168 + #define __NR_inotify_add_watch 5244 + #define __NR_inotify_init 5243 +@@ -147,6 +148,7 @@ + #define __NR_listen 5049 + #define __NR_listmount 5458 + #define __NR_listxattr 5186 ++#define __NR_listxattrat 5465 + #define __NR_llistxattr 5187 + #define __NR_lookup_dcookie 5206 + #define __NR_lremovexattr 5190 +@@ -244,6 +246,7 @@ + #define __NR_recvmsg 5046 + #define __NR_remap_file_pages 5210 + #define __NR_removexattr 5189 ++#define __NR_removexattrat 5466 + #define __NR_rename 5080 + #define __NR_renameat 5254 + #define __NR_renameat2 5311 +@@ -305,6 +308,7 @@ + #define __NR_settimeofday 5159 + #define __NR_setuid 5103 + #define __NR_setxattr 5180 ++#define __NR_setxattrat 5463 + #define __NR_shmat 5029 + #define __NR_shmctl 5030 + #define __NR_shmdt 5065 +diff --git a/sysdeps/unix/sysv/linux/or1k/arch-syscall.h b/sysdeps/unix/sysv/linux/or1k/arch-syscall.h +index 2d21fa208576f795..a071c76aaf82d9b6 100644 +--- a/sysdeps/unix/sysv/linux/or1k/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/or1k/arch-syscall.h +@@ -102,6 +102,7 @@ + #define __NR_gettimeofday 169 + #define __NR_getuid 174 + #define __NR_getxattr 8 ++#define __NR_getxattrat 464 + #define __NR_init_module 105 + #define __NR_inotify_add_watch 27 + #define __NR_inotify_init1 26 +@@ -132,6 +133,7 @@ + #define __NR_listen 201 + #define __NR_listmount 458 + #define __NR_listxattr 11 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 12 + #define __NR_llseek 62 + #define __NR_lookup_dcookie 18 +@@ -224,6 +226,7 @@ + #define __NR_recvmsg 212 + #define __NR_remap_file_pages 234 + #define __NR_removexattr 14 ++#define __NR_removexattrat 466 + #define __NR_renameat 38 + #define __NR_renameat2 276 + #define __NR_request_key 218 +@@ -285,6 +288,7 @@ + #define __NR_settimeofday 170 + #define __NR_setuid 146 + #define __NR_setxattr 5 ++#define __NR_setxattrat 463 + #define __NR_shmat 196 + #define __NR_shmctl 195 + #define __NR_shmdt 197 +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h +index 206d9fd65697d152..b3481e4c242257e0 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h +@@ -130,6 +130,7 @@ + #define __NR_gettimeofday 78 + #define __NR_getuid 24 + #define __NR_getxattr 212 ++#define __NR_getxattrat 464 + #define __NR_gtty 32 + #define __NR_idle 112 + #define __NR_init_module 128 +@@ -168,6 +169,7 @@ + #define __NR_listen 329 + #define __NR_listmount 458 + #define __NR_listxattr 215 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 216 + #define __NR_lock 53 + #define __NR_lookup_dcookie 235 +@@ -288,6 +290,7 @@ + #define __NR_recvmsg 342 + #define __NR_remap_file_pages 239 + #define __NR_removexattr 218 ++#define __NR_removexattrat 466 + #define __NR_rename 38 + #define __NR_renameat 293 + #define __NR_renameat2 357 +@@ -353,6 +356,7 @@ + #define __NR_settimeofday 79 + #define __NR_setuid 23 + #define __NR_setxattr 209 ++#define __NR_setxattrat 463 + #define __NR_sgetmask 68 + #define __NR_shmat 397 + #define __NR_shmctl 396 +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h +index 19f72a7f694a5322..45108e8f6f5c7b6c 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h +@@ -119,6 +119,7 @@ + #define __NR_gettimeofday 78 + #define __NR_getuid 24 + #define __NR_getxattr 212 ++#define __NR_getxattrat 464 + #define __NR_gtty 32 + #define __NR_idle 112 + #define __NR_init_module 128 +@@ -156,6 +157,7 @@ + #define __NR_listen 329 + #define __NR_listmount 458 + #define __NR_listxattr 215 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 216 + #define __NR_lock 53 + #define __NR_lookup_dcookie 235 +@@ -270,6 +272,7 @@ + #define __NR_recvmsg 342 + #define __NR_remap_file_pages 239 + #define __NR_removexattr 218 ++#define __NR_removexattrat 466 + #define __NR_rename 38 + #define __NR_renameat 293 + #define __NR_renameat2 357 +@@ -332,6 +335,7 @@ + #define __NR_settimeofday 79 + #define __NR_setuid 23 + #define __NR_setxattr 209 ++#define __NR_setxattrat 463 + #define __NR_sgetmask 68 + #define __NR_shmat 397 + #define __NR_shmctl 396 +diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h +index eb9e57b02898cb79..53338790a7a9837c 100644 +--- a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h +@@ -91,6 +91,7 @@ + #define __NR_gettid 178 + #define __NR_getuid 174 + #define __NR_getxattr 8 ++#define __NR_getxattrat 464 + #define __NR_init_module 105 + #define __NR_inotify_add_watch 27 + #define __NR_inotify_init1 26 +@@ -119,6 +120,7 @@ + #define __NR_listen 201 + #define __NR_listmount 458 + #define __NR_listxattr 11 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 12 + #define __NR_llseek 62 + #define __NR_lookup_dcookie 18 +@@ -205,6 +207,7 @@ + #define __NR_recvmsg 212 + #define __NR_remap_file_pages 234 + #define __NR_removexattr 14 ++#define __NR_removexattrat 466 + #define __NR_renameat2 276 + #define __NR_request_key 218 + #define __NR_restart_syscall 128 +@@ -262,6 +265,7 @@ + #define __NR_setsockopt 208 + #define __NR_setuid 146 + #define __NR_setxattr 5 ++#define __NR_setxattrat 463 + #define __NR_shmat 196 + #define __NR_shmctl 195 + #define __NR_shmdt 197 +diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h +index 1eac18e5822d8b3e..eed1dffc321200d8 100644 +--- a/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h +@@ -95,6 +95,7 @@ + #define __NR_gettimeofday 169 + #define __NR_getuid 174 + #define __NR_getxattr 8 ++#define __NR_getxattrat 464 + #define __NR_init_module 105 + #define __NR_inotify_add_watch 27 + #define __NR_inotify_init1 26 +@@ -124,6 +125,7 @@ + #define __NR_listen 201 + #define __NR_listmount 458 + #define __NR_listxattr 11 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 12 + #define __NR_lookup_dcookie 18 + #define __NR_lremovexattr 15 +@@ -212,6 +214,7 @@ + #define __NR_recvmsg 212 + #define __NR_remap_file_pages 234 + #define __NR_removexattr 14 ++#define __NR_removexattrat 466 + #define __NR_renameat2 276 + #define __NR_request_key 218 + #define __NR_restart_syscall 128 +@@ -271,6 +274,7 @@ + #define __NR_settimeofday 170 + #define __NR_setuid 146 + #define __NR_setxattr 5 ++#define __NR_setxattrat 463 + #define __NR_shmat 196 + #define __NR_shmctl 195 + #define __NR_shmdt 197 +diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h b/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h +index 464eca58b28ef5e0..0bf8f9582cef0fab 100644 +--- a/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h +@@ -136,6 +136,7 @@ + #define __NR_getuid 24 + #define __NR_getuid32 199 + #define __NR_getxattr 227 ++#define __NR_getxattrat 464 + #define __NR_idle 112 + #define __NR_init_module 128 + #define __NR_inotify_add_watch 285 +@@ -173,6 +174,7 @@ + #define __NR_listen 363 + #define __NR_listmount 458 + #define __NR_listxattr 230 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 231 + #define __NR_lookup_dcookie 110 + #define __NR_lremovexattr 234 +@@ -279,6 +281,7 @@ + #define __NR_recvmsg 372 + #define __NR_remap_file_pages 267 + #define __NR_removexattr 233 ++#define __NR_removexattrat 466 + #define __NR_rename 38 + #define __NR_renameat 295 + #define __NR_renameat2 347 +@@ -355,6 +358,7 @@ + #define __NR_setuid 23 + #define __NR_setuid32 213 + #define __NR_setxattr 224 ++#define __NR_setxattrat 463 + #define __NR_shmat 397 + #define __NR_shmctl 396 + #define __NR_shmdt 398 +diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h b/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h +index 57842702fd389edd..061f8db0cab0d0e9 100644 +--- a/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h +@@ -114,6 +114,7 @@ + #define __NR_gettimeofday 78 + #define __NR_getuid 199 + #define __NR_getxattr 227 ++#define __NR_getxattrat 464 + #define __NR_idle 112 + #define __NR_init_module 128 + #define __NR_inotify_add_watch 285 +@@ -148,6 +149,7 @@ + #define __NR_listen 363 + #define __NR_listmount 458 + #define __NR_listxattr 230 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 231 + #define __NR_lookup_dcookie 110 + #define __NR_lremovexattr 234 +@@ -248,6 +250,7 @@ + #define __NR_recvmsg 372 + #define __NR_remap_file_pages 267 + #define __NR_removexattr 233 ++#define __NR_removexattrat 466 + #define __NR_rename 38 + #define __NR_renameat 295 + #define __NR_renameat2 347 +@@ -313,6 +316,7 @@ + #define __NR_settimeofday 79 + #define __NR_setuid 213 + #define __NR_setxattr 224 ++#define __NR_setxattrat 463 + #define __NR_shmat 397 + #define __NR_shmctl 396 + #define __NR_shmdt 398 +diff --git a/sysdeps/unix/sysv/linux/sh/arch-syscall.h b/sysdeps/unix/sysv/linux/sh/arch-syscall.h +index 165ba017c7411aef..52cc320a9378e324 100644 +--- a/sysdeps/unix/sysv/linux/sh/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/sh/arch-syscall.h +@@ -133,6 +133,7 @@ + #define __NR_getuid 24 + #define __NR_getuid32 199 + #define __NR_getxattr 229 ++#define __NR_getxattrat 464 + #define __NR_init_module 128 + #define __NR_inotify_add_watch 291 + #define __NR_inotify_init 290 +@@ -166,6 +167,7 @@ + #define __NR_listen 343 + #define __NR_listmount 458 + #define __NR_listxattr 232 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 233 + #define __NR_lookup_dcookie 253 + #define __NR_lremovexattr 236 +@@ -274,6 +276,7 @@ + #define __NR_recvmsg 356 + #define __NR_remap_file_pages 257 + #define __NR_removexattr 235 ++#define __NR_removexattrat 466 + #define __NR_rename 38 + #define __NR_renameat 302 + #define __NR_renameat2 371 +@@ -346,6 +349,7 @@ + #define __NR_setuid 23 + #define __NR_setuid32 213 + #define __NR_setxattr 226 ++#define __NR_setxattrat 463 + #define __NR_sgetmask 68 + #define __NR_shmat 397 + #define __NR_shmctl 396 +diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h b/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h +index 3bad6f102ffaafb2..ee870bc7b890e0b6 100644 +--- a/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h +@@ -136,6 +136,7 @@ + #define __NR_getuid 24 + #define __NR_getuid32 44 + #define __NR_getxattr 172 ++#define __NR_getxattrat 464 + #define __NR_init_module 190 + #define __NR_inotify_add_watch 152 + #define __NR_inotify_init 151 +@@ -171,6 +172,7 @@ + #define __NR_listen 354 + #define __NR_listmount 458 + #define __NR_listxattr 178 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 179 + #define __NR_lookup_dcookie 208 + #define __NR_lremovexattr 182 +@@ -279,6 +281,7 @@ + #define __NR_recvmsg 113 + #define __NR_remap_file_pages 192 + #define __NR_removexattr 181 ++#define __NR_removexattrat 466 + #define __NR_rename 128 + #define __NR_renameat 291 + #define __NR_renameat2 345 +@@ -351,6 +354,7 @@ + #define __NR_setuid 23 + #define __NR_setuid32 87 + #define __NR_setxattr 169 ++#define __NR_setxattrat 463 + #define __NR_sgetmask 199 + #define __NR_shmat 397 + #define __NR_shmctl 396 +diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h b/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h +index 98e143792026d0e8..3acbebefa95fbbc6 100644 +--- a/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h +@@ -121,6 +121,7 @@ + #define __NR_gettimeofday 116 + #define __NR_getuid 24 + #define __NR_getxattr 172 ++#define __NR_getxattrat 464 + #define __NR_init_module 190 + #define __NR_inotify_add_watch 152 + #define __NR_inotify_init 151 +@@ -154,6 +155,7 @@ + #define __NR_listen 354 + #define __NR_listmount 458 + #define __NR_listxattr 178 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 179 + #define __NR_lookup_dcookie 208 + #define __NR_lremovexattr 182 +@@ -257,6 +259,7 @@ + #define __NR_recvmsg 113 + #define __NR_remap_file_pages 192 + #define __NR_removexattr 181 ++#define __NR_removexattrat 466 + #define __NR_rename 128 + #define __NR_renameat 291 + #define __NR_renameat2 345 +@@ -320,6 +323,7 @@ + #define __NR_settimeofday 122 + #define __NR_setuid 23 + #define __NR_setxattr 169 ++#define __NR_setxattrat 463 + #define __NR_sgetmask 199 + #define __NR_shmat 397 + #define __NR_shmctl 396 +diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list +index d31938a002629784..a0c65be7a5c49160 100644 +--- a/sysdeps/unix/sysv/linux/syscall-names.list ++++ b/sysdeps/unix/sysv/linux/syscall-names.list +@@ -21,8 +21,8 @@ + # This file can list all potential system calls. The names are only + # used if the installed kernel headers also provide them. + +-# The list of system calls is current as of Linux 6.12. +-kernel 6.12 ++# The list of system calls is current as of Linux 6.13. ++kernel 6.13 + + FAST_atomic_update + FAST_cmpxchg +@@ -198,6 +198,7 @@ getuid + getuid32 + getunwind + getxattr ++getxattrat + getxgid + getxpid + getxuid +@@ -241,6 +242,7 @@ linkat + listen + listmount + listxattr ++listxattrat + llistxattr + llseek + lock +@@ -482,6 +484,7 @@ recvmmsg_time64 + recvmsg + remap_file_pages + removexattr ++removexattrat + rename + renameat + renameat2 +@@ -572,6 +575,7 @@ settimeofday + setuid + setuid32 + setxattr ++setxattrat + sgetmask + shmat + shmctl +diff --git a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h +index dfc10d0c7e8a8f1e..17b84c70f58ac276 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h +@@ -117,6 +117,7 @@ + #define __NR_gettimeofday 96 + #define __NR_getuid 102 + #define __NR_getxattr 191 ++#define __NR_getxattrat 464 + #define __NR_init_module 175 + #define __NR_inotify_add_watch 254 + #define __NR_inotify_init 253 +@@ -151,6 +152,7 @@ + #define __NR_listen 50 + #define __NR_listmount 458 + #define __NR_listxattr 194 ++#define __NR_listxattrat 465 + #define __NR_llistxattr 195 + #define __NR_lookup_dcookie 212 + #define __NR_lremovexattr 198 +@@ -250,6 +252,7 @@ + #define __NR_recvmsg 47 + #define __NR_remap_file_pages 216 + #define __NR_removexattr 197 ++#define __NR_removexattrat 466 + #define __NR_rename 82 + #define __NR_renameat 264 + #define __NR_renameat2 316 +@@ -313,6 +316,7 @@ + #define __NR_settimeofday 164 + #define __NR_setuid 105 + #define __NR_setxattr 188 ++#define __NR_setxattrat 463 + #define __NR_shmat 30 + #define __NR_shmctl 31 + #define __NR_shmdt 67 +diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h +index 9340daa967425c4a..1dcd6ab0e6b229ed 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h +@@ -111,6 +111,7 @@ + #define __NR_gettimeofday 1073741920 + #define __NR_getuid 1073741926 + #define __NR_getxattr 1073742015 ++#define __NR_getxattrat 1073742288 + #define __NR_init_module 1073741999 + #define __NR_inotify_add_watch 1073742078 + #define __NR_inotify_init 1073742077 +@@ -145,6 +146,7 @@ + #define __NR_listen 1073741874 + #define __NR_listmount 1073742282 + #define __NR_listxattr 1073742018 ++#define __NR_listxattrat 1073742289 + #define __NR_llistxattr 1073742019 + #define __NR_lookup_dcookie 1073742036 + #define __NR_lremovexattr 1073742022 +@@ -242,6 +244,7 @@ + #define __NR_recvmsg 1073742343 + #define __NR_remap_file_pages 1073742040 + #define __NR_removexattr 1073742021 ++#define __NR_removexattrat 1073742290 + #define __NR_rename 1073741906 + #define __NR_renameat 1073742088 + #define __NR_renameat2 1073742140 +@@ -305,6 +308,7 @@ + #define __NR_settimeofday 1073741988 + #define __NR_setuid 1073741929 + #define __NR_setxattr 1073742012 ++#define __NR_setxattrat 1073742287 + #define __NR_shmat 1073741854 + #define __NR_shmctl 1073741855 + #define __NR_shmdt 1073741891 diff --git a/glibc-RHEL-107695-17.patch b/glibc-RHEL-107695-17.patch new file mode 100644 index 0000000..b763fdf --- /dev/null +++ b/glibc-RHEL-107695-17.patch @@ -0,0 +1,57 @@ +commit 2fb0009ff1994db2848fd2becd9e7eaaefd7b673 +Author: Joseph Myers +Date: Mon Mar 24 15:51:23 2025 +0000 + + Update kernel version to 6.13 in header constant tests + + There are no new constants covered by tst-mman-consts.py, + tst-mount-consts.py or tst-sched-consts.py in Linux 6.13 that need any + header changes, so update the kernel version in those tests. + (tst-pidfd-consts.py will need updating separately along with adding + new constants to glibc.) + + Tested with build-many-glibcs.py. + +diff --git a/sysdeps/unix/sysv/linux/tst-mman-consts.py b/sysdeps/unix/sysv/linux/tst-mman-consts.py +index 584936efecbf7755..ce07bc772e359ffd 100644 +--- a/sysdeps/unix/sysv/linux/tst-mman-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-mman-consts.py +@@ -33,7 +33,7 @@ def main(): + help='C compiler (including options) to use') + args = parser.parse_args() + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- linux_version_glibc = (6, 12) ++ linux_version_glibc = (6, 13) + sys.exit(glibcextract.compare_macro_consts( + '#define _GNU_SOURCE 1\n' + '#include \n', +diff --git a/sysdeps/unix/sysv/linux/tst-mount-consts.py b/sysdeps/unix/sysv/linux/tst-mount-consts.py +index e77579033b0fd8ec..91c99bb7a89715eb 100755 +--- a/sysdeps/unix/sysv/linux/tst-mount-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-mount-consts.py +@@ -39,10 +39,10 @@ def main(): + sys.exit (77) + + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- # Constants in glibc were updated to match Linux v6.12. When glibc ++ # Constants in glibc were updated to match Linux v6.13. When glibc + # constants are updated this value should be updated to match the + # released kernel version from which the constants were taken. +- linux_version_glibc = (6, 12) ++ linux_version_glibc = (6, 13) + def check(cte, exclude=None): + return glibcextract.compare_macro_consts( + '#include \n', +diff --git a/sysdeps/unix/sysv/linux/tst-sched-consts.py b/sysdeps/unix/sysv/linux/tst-sched-consts.py +index 6a5b837334ab45f8..90693f8156e338f1 100644 +--- a/sysdeps/unix/sysv/linux/tst-sched-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-sched-consts.py +@@ -33,7 +33,7 @@ def main(): + help='C compiler (including options) to use') + args = parser.parse_args() + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- linux_version_glibc = (6, 12) ++ linux_version_glibc = (6, 13) + sys.exit(glibcextract.compare_macro_consts( + '#define _GNU_SOURCE 1\n' + '#include \n', diff --git a/glibc-RHEL-107695-18.patch b/glibc-RHEL-107695-18.patch new file mode 100644 index 0000000..8a4fd97 --- /dev/null +++ b/glibc-RHEL-107695-18.patch @@ -0,0 +1,26 @@ +commit 7f163bd2106f96e2925e9bb3e0e545cfae7ba1af +Author: Joseph Myers +Date: Tue Apr 1 12:44:26 2025 +0000 + + Update syscall lists for Linux 6.14 + + Linux 6.14 has no new syscalls. Update the version number in + syscall-names.list to reflect that it is still current for 6.14. + + Tested with build-many-glibcs.py. + +diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list +index a0c65be7a5c49160..28bd84404cf83692 100644 +--- a/sysdeps/unix/sysv/linux/syscall-names.list ++++ b/sysdeps/unix/sysv/linux/syscall-names.list +@@ -21,8 +21,8 @@ + # This file can list all potential system calls. The names are only + # used if the installed kernel headers also provide them. + +-# The list of system calls is current as of Linux 6.13. +-kernel 6.13 ++# The list of system calls is current as of Linux 6.14. ++kernel 6.14 + + FAST_atomic_update + FAST_cmpxchg diff --git a/glibc-RHEL-107695-19.patch b/glibc-RHEL-107695-19.patch new file mode 100644 index 0000000..6863f45 --- /dev/null +++ b/glibc-RHEL-107695-19.patch @@ -0,0 +1,337 @@ +commit eaf88c10250b917ba64c9d5567457c4b82558ed1 +Author: Joseph Myers +Date: Thu May 29 19:21:46 2025 +0000 + + Update syscall lists for Linux 6.15 + + Linux 6.15 adds the new syscall open_tree_attr. Update + syscall-names.list and regenerate the arch-syscall.h headers with + build-many-glibcs.py update-syscalls. + + Tested with build-many-glibcs.py. + + Reviewed-by: Florian Weimer + +diff --git a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h +index 89aced0b453609e3..ba4a461e90ea1709 100644 +--- a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h +@@ -175,6 +175,7 @@ + #define __NR_nfsservctl 42 + #define __NR_open_by_handle_at 265 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 56 + #define __NR_openat2 437 + #define __NR_perf_event_open 241 +diff --git a/sysdeps/unix/sysv/linux/alpha/arch-syscall.h b/sysdeps/unix/sysv/linux/alpha/arch-syscall.h +index 455da93b478ab037..840d6fed9eb0c3de 100644 +--- a/sysdeps/unix/sysv/linux/alpha/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/alpha/arch-syscall.h +@@ -209,6 +209,7 @@ + #define __NR_open 45 + #define __NR_open_by_handle_at 498 + #define __NR_open_tree 538 ++#define __NR_open_tree_attr 577 + #define __NR_openat 450 + #define __NR_openat2 547 + #define __NR_osf_adjtime 140 +diff --git a/sysdeps/unix/sysv/linux/arc/arch-syscall.h b/sysdeps/unix/sysv/linux/arc/arch-syscall.h +index 01075e8cdfd7cd30..2534f0fa5c50704c 100644 +--- a/sysdeps/unix/sysv/linux/arc/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/arc/arch-syscall.h +@@ -177,6 +177,7 @@ + #define __NR_nfsservctl 42 + #define __NR_open_by_handle_at 265 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 56 + #define __NR_openat2 437 + #define __NR_perf_event_open 241 +diff --git a/sysdeps/unix/sysv/linux/arm/arch-syscall.h b/sysdeps/unix/sysv/linux/arm/arch-syscall.h +index 97044727fc1e24bf..8e585a4f9ee07607 100644 +--- a/sysdeps/unix/sysv/linux/arm/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/arm/arch-syscall.h +@@ -223,6 +223,7 @@ + #define __NR_open 5 + #define __NR_open_by_handle_at 371 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 322 + #define __NR_openat2 437 + #define __NR_pause 29 +diff --git a/sysdeps/unix/sysv/linux/csky/arch-syscall.h b/sysdeps/unix/sysv/linux/csky/arch-syscall.h +index a719a55647383d4e..73fdba14025a0836 100644 +--- a/sysdeps/unix/sysv/linux/csky/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/csky/arch-syscall.h +@@ -184,6 +184,7 @@ + #define __NR_nfsservctl 42 + #define __NR_open_by_handle_at 265 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 56 + #define __NR_openat2 437 + #define __NR_perf_event_open 241 +diff --git a/sysdeps/unix/sysv/linux/hppa/arch-syscall.h b/sysdeps/unix/sysv/linux/hppa/arch-syscall.h +index dc592c58364a1804..d8ffab9b951bc261 100644 +--- a/sysdeps/unix/sysv/linux/hppa/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/hppa/arch-syscall.h +@@ -214,6 +214,7 @@ + #define __NR_open 5 + #define __NR_open_by_handle_at 326 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 275 + #define __NR_openat2 437 + #define __NR_pause 29 +diff --git a/sysdeps/unix/sysv/linux/i386/arch-syscall.h b/sysdeps/unix/sysv/linux/i386/arch-syscall.h +index c10897f7b032c9fb..196dfec840521678 100644 +--- a/sysdeps/unix/sysv/linux/i386/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/i386/arch-syscall.h +@@ -245,6 +245,7 @@ + #define __NR_open 5 + #define __NR_open_by_handle_at 342 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 295 + #define __NR_openat2 437 + #define __NR_pause 29 +diff --git a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h +index a0d0d91a09fa57fb..9a0dc6e429a5bd4f 100644 +--- a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h +@@ -173,6 +173,7 @@ + #define __NR_nfsservctl 42 + #define __NR_open_by_handle_at 265 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 56 + #define __NR_openat2 437 + #define __NR_perf_event_open 241 +diff --git a/sysdeps/unix/sysv/linux/m68k/arch-syscall.h b/sysdeps/unix/sysv/linux/m68k/arch-syscall.h +index 715809acaf112852..a95cb41f56db8deb 100644 +--- a/sysdeps/unix/sysv/linux/m68k/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/m68k/arch-syscall.h +@@ -234,6 +234,7 @@ + #define __NR_open 5 + #define __NR_open_by_handle_at 341 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 288 + #define __NR_openat2 437 + #define __NR_pause 29 +diff --git a/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h b/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h +index 24e218fc86b984cc..fe08f5cc9e898463 100644 +--- a/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h +@@ -244,6 +244,7 @@ + #define __NR_open 5 + #define __NR_open_by_handle_at 372 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 295 + #define __NR_openat2 437 + #define __NR_pause 29 +diff --git a/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h +index a7615cb7a0c66df6..7d76d6579d2e5a09 100644 +--- a/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h +@@ -229,6 +229,7 @@ + #define __NR_open 4005 + #define __NR_open_by_handle_at 4340 + #define __NR_open_tree 4428 ++#define __NR_open_tree_attr 4467 + #define __NR_openat 4288 + #define __NR_openat2 4437 + #define __NR_pause 4029 +diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h +index 4d863c2dd29c3f3e..bca3ea69b3e9db42 100644 +--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h +@@ -212,6 +212,7 @@ + #define __NR_open 6002 + #define __NR_open_by_handle_at 6304 + #define __NR_open_tree 6428 ++#define __NR_open_tree_attr 6467 + #define __NR_openat 6251 + #define __NR_openat2 6437 + #define __NR_pause 6033 +diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h +index 9b6683e4c1ca9312..5bcd92982a7da06b 100644 +--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h +@@ -201,6 +201,7 @@ + #define __NR_open 5002 + #define __NR_open_by_handle_at 5299 + #define __NR_open_tree 5428 ++#define __NR_open_tree_attr 5467 + #define __NR_openat 5247 + #define __NR_openat2 5437 + #define __NR_pause 5033 +diff --git a/sysdeps/unix/sysv/linux/or1k/arch-syscall.h b/sysdeps/unix/sysv/linux/or1k/arch-syscall.h +index a071c76aaf82d9b6..c2a1d51552b3e1d8 100644 +--- a/sysdeps/unix/sysv/linux/or1k/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/or1k/arch-syscall.h +@@ -183,6 +183,7 @@ + #define __NR_nfsservctl 42 + #define __NR_open_by_handle_at 265 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 56 + #define __NR_openat2 437 + #define __NR_or1k_atomic 244 +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h +index b3481e4c242257e0..c371df8e40d54b31 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h +@@ -235,6 +235,7 @@ + #define __NR_open 5 + #define __NR_open_by_handle_at 346 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 286 + #define __NR_openat2 437 + #define __NR_pause 29 +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h +index 45108e8f6f5c7b6c..df8844d3cacfc3f1 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h +@@ -220,6 +220,7 @@ + #define __NR_open 5 + #define __NR_open_by_handle_at 346 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 286 + #define __NR_openat2 437 + #define __NR_pause 29 +diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h +index 53338790a7a9837c..1bae763c9e2bae37 100644 +--- a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h +@@ -168,6 +168,7 @@ + #define __NR_nfsservctl 42 + #define __NR_open_by_handle_at 265 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 56 + #define __NR_openat2 437 + #define __NR_perf_event_open 241 +diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h +index eed1dffc321200d8..1a1ebf8e2f6da6fd 100644 +--- a/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h +@@ -175,6 +175,7 @@ + #define __NR_nfsservctl 42 + #define __NR_open_by_handle_at 265 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 56 + #define __NR_openat2 437 + #define __NR_perf_event_open 241 +diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h b/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h +index 0bf8f9582cef0fab..f77f39f1cce2e6fe 100644 +--- a/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h +@@ -232,6 +232,7 @@ + #define __NR_open 5 + #define __NR_open_by_handle_at 336 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 288 + #define __NR_openat2 437 + #define __NR_pause 29 +diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h b/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h +index 061f8db0cab0d0e9..65d6644e33ccb468 100644 +--- a/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h +@@ -204,6 +204,7 @@ + #define __NR_open 5 + #define __NR_open_by_handle_at 336 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 288 + #define __NR_openat2 437 + #define __NR_pause 29 +diff --git a/sysdeps/unix/sysv/linux/sh/arch-syscall.h b/sysdeps/unix/sysv/linux/sh/arch-syscall.h +index 52cc320a9378e324..5948ab099a5f79d2 100644 +--- a/sysdeps/unix/sysv/linux/sh/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/sh/arch-syscall.h +@@ -228,6 +228,7 @@ + #define __NR_open 5 + #define __NR_open_by_handle_at 360 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 295 + #define __NR_openat2 437 + #define __NR_pause 29 +diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h b/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h +index ee870bc7b890e0b6..85828a8c1750a6ec 100644 +--- a/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h +@@ -230,6 +230,7 @@ + #define __NR_open 5 + #define __NR_open_by_handle_at 333 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 284 + #define __NR_openat2 437 + #define __NR_pause 29 +diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h b/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h +index 3acbebefa95fbbc6..d83ecd15dca15268 100644 +--- a/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h +@@ -211,6 +211,7 @@ + #define __NR_open 5 + #define __NR_open_by_handle_at 333 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 284 + #define __NR_openat2 437 + #define __NR_pause 29 +diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list +index 28bd84404cf83692..316f06695a6b378c 100644 +--- a/sysdeps/unix/sysv/linux/syscall-names.list ++++ b/sysdeps/unix/sysv/linux/syscall-names.list +@@ -21,8 +21,8 @@ + # This file can list all potential system calls. The names are only + # used if the installed kernel headers also provide them. + +-# The list of system calls is current as of Linux 6.14. +-kernel 6.14 ++# The list of system calls is current as of Linux 6.15. ++kernel 6.15 + + FAST_atomic_update + FAST_cmpxchg +@@ -316,6 +316,7 @@ olduname + open + open_by_handle_at + open_tree ++open_tree_attr + openat + openat2 + or1k_atomic +diff --git a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h +index 17b84c70f58ac276..06fbae5334dbbd49 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h +@@ -207,6 +207,7 @@ + #define __NR_open 2 + #define __NR_open_by_handle_at 304 + #define __NR_open_tree 428 ++#define __NR_open_tree_attr 467 + #define __NR_openat 257 + #define __NR_openat2 437 + #define __NR_pause 34 +diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h +index 1dcd6ab0e6b229ed..135ef3d7f28f50f3 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h +@@ -200,6 +200,7 @@ + #define __NR_open 1073741826 + #define __NR_open_by_handle_at 1073742128 + #define __NR_open_tree 1073742252 ++#define __NR_open_tree_attr 1073742291 + #define __NR_openat 1073742081 + #define __NR_openat2 1073742261 + #define __NR_pause 1073741858 diff --git a/glibc-RHEL-107695-2.patch b/glibc-RHEL-107695-2.patch new file mode 100644 index 0000000..c5668ab --- /dev/null +++ b/glibc-RHEL-107695-2.patch @@ -0,0 +1,56 @@ +commit 2367bf468ce43801de987dcd54b0f99ba9d62827 +Author: Joseph Myers +Date: Wed Mar 13 19:46:21 2024 +0000 + + Update kernel version to 6.8 in header constant tests + + This patch updates the kernel version in the tests tst-mman-consts.py, + tst-mount-consts.py and tst-pidfd-consts.py to 6.8. (There are no new + constants covered by these tests in 6.8 that need any other header + changes.) + + Tested with build-many-glibcs.py. + +diff --git a/sysdeps/unix/sysv/linux/tst-mman-consts.py b/sysdeps/unix/sysv/linux/tst-mman-consts.py +index a7e101532812cbd0..56c0cf3e228ad1ae 100644 +--- a/sysdeps/unix/sysv/linux/tst-mman-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-mman-consts.py +@@ -33,7 +33,7 @@ def main(): + help='C compiler (including options) to use') + args = parser.parse_args() + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- linux_version_glibc = (6, 7) ++ linux_version_glibc = (6, 8) + sys.exit(glibcextract.compare_macro_consts( + '#define _GNU_SOURCE 1\n' + '#include \n', +diff --git a/sysdeps/unix/sysv/linux/tst-mount-consts.py b/sysdeps/unix/sysv/linux/tst-mount-consts.py +index 175bd8d23a7f9826..8613db96d7e3bf33 100755 +--- a/sysdeps/unix/sysv/linux/tst-mount-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-mount-consts.py +@@ -39,10 +39,10 @@ def main(): + sys.exit (77) + + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- # Constants in glibc were updated to match Linux v6.7. When glibc ++ # Constants in glibc were updated to match Linux v6.8. When glibc + # constants are updated this value should be updated to match the + # released kernel version from which the constants were taken. +- linux_version_glibc = (6, 7) ++ linux_version_glibc = (6, 8) + def check(cte, exclude=None): + return glibcextract.compare_macro_consts( + '#include \n', +diff --git a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py +index 2f877722ad3f8d64..96875ac2666575df 100644 +--- a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py +@@ -39,7 +39,7 @@ def main(): + sys.exit (77) + + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- linux_version_glibc = (6, 7) ++ linux_version_glibc = (6, 8) + sys.exit(glibcextract.compare_macro_consts( + '#include \n', + '#include \n' diff --git a/glibc-RHEL-107695-3.patch b/glibc-RHEL-107695-3.patch new file mode 100644 index 0000000..f799f2f --- /dev/null +++ b/glibc-RHEL-107695-3.patch @@ -0,0 +1,26 @@ +commit cf0ca8d52e1653d4aa4311a4649af8dc541ce6b4 +Author: Joseph Myers +Date: Mon May 20 13:10:31 2024 +0000 + + Update syscall lists for Linux 6.9 + + Linux 6.9 has no new syscalls. Update the version number in + syscall-names.list to reflect that it is still current for 6.9. + + Tested with build-many-glibcs.py. + +diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list +index 6557bcfde4636158..672d39eaad4491f1 100644 +--- a/sysdeps/unix/sysv/linux/syscall-names.list ++++ b/sysdeps/unix/sysv/linux/syscall-names.list +@@ -21,8 +21,8 @@ + # This file can list all potential system calls. The names are only + # used if the installed kernel headers also provide them. + +-# The list of system calls is current as of Linux 6.8. +-kernel 6.8 ++# The list of system calls is current as of Linux 6.9. ++kernel 6.9 + + FAST_atomic_update + FAST_cmpxchg diff --git a/glibc-RHEL-107695-4.patch b/glibc-RHEL-107695-4.patch new file mode 100644 index 0000000..86a7a48 --- /dev/null +++ b/glibc-RHEL-107695-4.patch @@ -0,0 +1,60 @@ +commit e9a37242f9cca80496aa934158b7e366b8b419fa +Author: Joseph Myers +Date: Thu May 23 12:22:40 2024 +0000 + + Update PIDFD_* constants for Linux 6.9 + + Linux 6.9 adds some more PIDFD_* constants. Add them to glibc's + sys/pidfd.h, including updating comments that said FLAGS was reserved + and must be 0, along with updating tst-pidfd-consts.py. + + Tested with build-many-glibcs.py. + +diff --git a/sysdeps/unix/sysv/linux/sys/pidfd.h b/sysdeps/unix/sysv/linux/sys/pidfd.h +index 10783220625f7a1d..9f88d297e884c348 100644 +--- a/sysdeps/unix/sysv/linux/sys/pidfd.h ++++ b/sysdeps/unix/sysv/linux/sys/pidfd.h +@@ -22,12 +22,14 @@ + #include + + #define PIDFD_NONBLOCK O_NONBLOCK ++#define PIDFD_THREAD O_EXCL + +-/* Returns a file descriptor that refers to the process PID. The +- close-on-exec is set on the file descriptor. ++#define PIDFD_SIGNAL_THREAD (1UL << 0) ++#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1) ++#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2) + +- The FLAGS argument is reserved for future use, it must be specified +- as 0. */ ++/* Returns a file descriptor that refers to the process PID. The ++ close-on-exec is set on the file descriptor. */ + extern int pidfd_open (__pid_t __pid, unsigned int __flags) __THROW; + + /* Duplicates an existing file descriptor TARGETFD in the process referred +@@ -39,10 +41,7 @@ extern int pidfd_getfd (int __pidfd, int __targetfd, + unsigned int __flags) __THROW; + + /* Sends the signal SIG to the target process referred by the PIDFD. If +- INFO points to a siginfo_t buffer, it will be populated. +- +- The FLAGS argument is reserved for future use, it must be specified +- as 0. */ ++ INFO points to a siginfo_t buffer, it will be populated. */ + extern int pidfd_send_signal (int __pidfd, int __sig, siginfo_t *__info, + unsigned int __flags) __THROW; + +diff --git a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py +index 96875ac2666575df..6f05291949d00c62 100644 +--- a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py +@@ -39,7 +39,7 @@ def main(): + sys.exit (77) + + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- linux_version_glibc = (6, 8) ++ linux_version_glibc = (6, 9) + sys.exit(glibcextract.compare_macro_consts( + '#include \n', + '#include \n' diff --git a/glibc-RHEL-107695-5.patch b/glibc-RHEL-107695-5.patch new file mode 100644 index 0000000..3a715a6 --- /dev/null +++ b/glibc-RHEL-107695-5.patch @@ -0,0 +1,44 @@ +commit 84d2762922f74f5059d6179f503972c418153b91 +Author: Joseph Myers +Date: Thu May 23 14:04:48 2024 +0000 + + Update kernel version to 6.9 in header constant tests + + This patch updates the kernel version in the tests tst-mman-consts.py + and tst-mount-consts.py to 6.9. (There are no new constants covered + by these tests in 6.9 that need any other header changes; + tst-pidfd-consts.py was updated separately along with adding new + constants relevant to that test.) + + Tested with build-many-glibcs.py. + +diff --git a/sysdeps/unix/sysv/linux/tst-mman-consts.py b/sysdeps/unix/sysv/linux/tst-mman-consts.py +index 56c0cf3e228ad1ae..4a8f4e8919aa6b3d 100644 +--- a/sysdeps/unix/sysv/linux/tst-mman-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-mman-consts.py +@@ -33,7 +33,7 @@ def main(): + help='C compiler (including options) to use') + args = parser.parse_args() + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- linux_version_glibc = (6, 8) ++ linux_version_glibc = (6, 9) + sys.exit(glibcextract.compare_macro_consts( + '#define _GNU_SOURCE 1\n' + '#include \n', +diff --git a/sysdeps/unix/sysv/linux/tst-mount-consts.py b/sysdeps/unix/sysv/linux/tst-mount-consts.py +index 8613db96d7e3bf33..c4a67221c1c5bc84 100755 +--- a/sysdeps/unix/sysv/linux/tst-mount-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-mount-consts.py +@@ -39,10 +39,10 @@ def main(): + sys.exit (77) + + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- # Constants in glibc were updated to match Linux v6.8. When glibc ++ # Constants in glibc were updated to match Linux v6.9. When glibc + # constants are updated this value should be updated to match the + # released kernel version from which the constants were taken. +- linux_version_glibc = (6, 8) ++ linux_version_glibc = (6, 9) + def check(cte, exclude=None): + return glibcextract.compare_macro_consts( + '#include \n', diff --git a/glibc-RHEL-107695-6.patch b/glibc-RHEL-107695-6.patch new file mode 100644 index 0000000..b30572d --- /dev/null +++ b/glibc-RHEL-107695-6.patch @@ -0,0 +1,120 @@ +commit 176671f6042912200ea9733bb6cc8212e06bc85e +Author: Carlos Llamas +Date: Tue Jun 18 10:56:34 2024 +0200 + + linux: add definitions for hugetlb page size encodings + + A desired hugetlb page size can be encoded in the flags parameter of + system calls such as mmap() and shmget(). The Linux UAPI headers have + included explicit definitions for these encodings since v4.14. + + This patch adds these definitions that are used along with MAP_HUGETLB + and SHM_HUGETLB flags as specified in the corresponding man pages. This + relieves programs from having to duplicate and/or compute the encodings + manually. + + Additionally, the filter on these definitions in tst-mman-consts.py is + removed, as suggested by Florian. I then ran this tests successfully, + confirming the alignment with the kernel headers. + + PASS: misc/tst-mman-consts + original exit status 0 + + Signed-off-by: Carlos Llamas + Tested-by: Florian Weimer + Reviewed-by: Florian Weimer + +diff --git a/sysdeps/unix/sysv/linux/bits/mman-linux.h b/sysdeps/unix/sysv/linux/bits/mman-linux.h +index 5c3d43b0f2b659fd..522333c50a04481d 100644 +--- a/sysdeps/unix/sysv/linux/bits/mman-linux.h ++++ b/sysdeps/unix/sysv/linux/bits/mman-linux.h +@@ -54,10 +54,29 @@ + # define MAP_ANONYMOUS 0x20 /* Don't use a file. */ + #endif + #define MAP_ANON MAP_ANONYMOUS +-/* When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size. */ ++ ++/* When MAP_HUGETLB is set, bits [26:31] encode the log2 of the huge page size. ++ The following definitions are associated with this huge page size encoding. ++ It is responsibility of the application to know which sizes are supported on ++ the running system. See mmap(2) man page for details. */ ++ + #define MAP_HUGE_SHIFT 26 + #define MAP_HUGE_MASK 0x3f + ++#define MAP_HUGE_16KB (14 << MAP_HUGE_SHIFT) ++#define MAP_HUGE_64KB (16 << MAP_HUGE_SHIFT) ++#define MAP_HUGE_512KB (19 << MAP_HUGE_SHIFT) ++#define MAP_HUGE_1MB (20 << MAP_HUGE_SHIFT) ++#define MAP_HUGE_2MB (21 << MAP_HUGE_SHIFT) ++#define MAP_HUGE_8MB (23 << MAP_HUGE_SHIFT) ++#define MAP_HUGE_16MB (24 << MAP_HUGE_SHIFT) ++#define MAP_HUGE_32MB (25 << MAP_HUGE_SHIFT) ++#define MAP_HUGE_256MB (28 << MAP_HUGE_SHIFT) ++#define MAP_HUGE_512MB (29 << MAP_HUGE_SHIFT) ++#define MAP_HUGE_1GB (30 << MAP_HUGE_SHIFT) ++#define MAP_HUGE_2GB (31 << MAP_HUGE_SHIFT) ++#define MAP_HUGE_16GB (34U << MAP_HUGE_SHIFT) ++ + /* Flags to `msync'. */ + #define MS_ASYNC 1 /* Sync memory asynchronously. */ + #define MS_SYNC 4 /* Synchronous memory sync. */ +diff --git a/sysdeps/unix/sysv/linux/bits/shm.h b/sysdeps/unix/sysv/linux/bits/shm.h +index 95f7863913ecebdb..76144f5ad4e52c21 100644 +--- a/sysdeps/unix/sysv/linux/bits/shm.h ++++ b/sysdeps/unix/sysv/linux/bits/shm.h +@@ -58,6 +58,28 @@ typedef __syscall_ulong_t shmatt_t; + # define SHM_HUGETLB 04000 /* segment is mapped via hugetlb */ + # define SHM_NORESERVE 010000 /* don't check for reservations */ + ++/* When SHM_HUGETLB is set, bits [26:31] encode the log2 of the huge page size. ++ The following definitions are associated with this huge page size encoding. ++ It is responsibility of the application to know which sizes are supported on ++ the running system. See shmget(2) man page for details. */ ++ ++#define SHM_HUGE_SHIFT 26 ++#define SHM_HUGE_MASK 0x3f ++ ++#define SHM_HUGE_16KB (14 << SHM_HUGE_SHIFT) ++#define SHM_HUGE_64KB (16 << SHM_HUGE_SHIFT) ++#define SHM_HUGE_512KB (19 << SHM_HUGE_SHIFT) ++#define SHM_HUGE_1MB (20 << SHM_HUGE_SHIFT) ++#define SHM_HUGE_2MB (21 << SHM_HUGE_SHIFT) ++#define SHM_HUGE_8MB (23 << SHM_HUGE_SHIFT) ++#define SHM_HUGE_16MB (24 << SHM_HUGE_SHIFT) ++#define SHM_HUGE_32MB (25 << SHM_HUGE_SHIFT) ++#define SHM_HUGE_256MB (28 << SHM_HUGE_SHIFT) ++#define SHM_HUGE_512MB (29 << SHM_HUGE_SHIFT) ++#define SHM_HUGE_1GB (30 << SHM_HUGE_SHIFT) ++#define SHM_HUGE_2GB (31 << SHM_HUGE_SHIFT) ++#define SHM_HUGE_16GB (34U << SHM_HUGE_SHIFT) ++ + struct shminfo + { + __syscall_ulong_t shmmax; +diff --git a/sysdeps/unix/sysv/linux/tst-mman-consts.py b/sysdeps/unix/sysv/linux/tst-mman-consts.py +index 4a8f4e8919aa6b3d..441261c9456b2595 100644 +--- a/sysdeps/unix/sysv/linux/tst-mman-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-mman-consts.py +@@ -41,8 +41,7 @@ def main(): + '#include \n', + args.cc, + 'MAP_.*', +- # A series of MAP_HUGE_ macros are defined by the kernel +- # but not by glibc. MAP_UNINITIALIZED is kernel-only. ++ # MAP_UNINITIALIZED is defined by the kernel but not by glibc. + # MAP_FAILED is not a MAP_* flag and is glibc-only, as is the + # MAP_ANON alias for MAP_ANONYMOUS. MAP_RENAME, MAP_AUTOGROW, + # MAP_LOCAL and MAP_AUTORSRV are in the kernel header for +@@ -50,9 +49,8 @@ def main(): + # in the kernel header, but does not use it. The kernel + # header for HPPA removed a define of MAP_VARIABLE to 0 in + # Linux 6.2. +- 'MAP_HUGE_[0-9].*|MAP_UNINITIALIZED|MAP_FAILED|MAP_ANON' +- '|MAP_RENAME|MAP_AUTOGROW|MAP_LOCAL|MAP_AUTORSRV|MAP_INHERIT' +- '|MAP_VARIABLE', ++ 'MAP_UNINITIALIZED|MAP_FAILED|MAP_ANON|MAP_RENAME|MAP_AUTOGROW' ++ '|MAP_LOCAL|MAP_AUTORSRV|MAP_INHERIT|MAP_VARIABLE', + linux_version_glibc > linux_version_headers, + linux_version_headers > linux_version_glibc)) + diff --git a/glibc-RHEL-107695-7.patch b/glibc-RHEL-107695-7.patch new file mode 100644 index 0000000..b797630 --- /dev/null +++ b/glibc-RHEL-107695-7.patch @@ -0,0 +1,379 @@ +commit eb0776d4e149ff0ccf9841a8073dbde658c59858 +Author: Adhemerval Zanella +Date: Tue Jul 16 17:08:46 2024 +0000 + + Update syscall lists for Linux 6.10 + + Linux 6.10 changes for syscall are: + + * mseal for all architectures. + * map_shadow_stack for x32. + * Replace sync_file_range with sync_file_range2 for csky (which + fixes a broken sync_file_range usage). + + Update syscall-names.list and regenerate the arch-syscall.h headers + with build-many-glibcs.py update-syscalls. + + Tested with build-many-glibcs.py. + Reviewed-by: Florian Weimer + +diff --git a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h +index 7ee8a2167aaae172..19b6316cb6ffae26 100644 +--- a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h +@@ -158,6 +158,7 @@ + #define __NR_mq_timedsend 182 + #define __NR_mq_unlink 181 + #define __NR_mremap 216 ++#define __NR_mseal 462 + #define __NR_msgctl 187 + #define __NR_msgget 186 + #define __NR_msgrcv 188 +diff --git a/sysdeps/unix/sysv/linux/alpha/arch-syscall.h b/sysdeps/unix/sysv/linux/alpha/arch-syscall.h +index 0f4ea7670be610be..216a5575c69d0ff3 100644 +--- a/sysdeps/unix/sysv/linux/alpha/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/alpha/arch-syscall.h +@@ -24,6 +24,7 @@ + #define __NR_clock_nanosleep 422 + #define __NR_clock_settime 419 + #define __NR_clone 312 ++#define __NR_clone3 545 + #define __NR_close 6 + #define __NR_close_range 546 + #define __NR_connect 98 +@@ -189,6 +190,7 @@ + #define __NR_mq_timedsend 434 + #define __NR_mq_unlink 433 + #define __NR_mremap 341 ++#define __NR_mseal 572 + #define __NR_msgctl 200 + #define __NR_msgget 201 + #define __NR_msgrcv 202 +diff --git a/sysdeps/unix/sysv/linux/arc/arch-syscall.h b/sysdeps/unix/sysv/linux/arc/arch-syscall.h +index 90359482a814b3f8..ea581b0a6dc0f2d4 100644 +--- a/sysdeps/unix/sysv/linux/arc/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/arc/arch-syscall.h +@@ -161,6 +161,7 @@ + #define __NR_mq_timedsend_time64 418 + #define __NR_mq_unlink 181 + #define __NR_mremap 216 ++#define __NR_mseal 462 + #define __NR_msgctl 187 + #define __NR_msgget 186 + #define __NR_msgrcv 188 +diff --git a/sysdeps/unix/sysv/linux/arm/arch-syscall.h b/sysdeps/unix/sysv/linux/arm/arch-syscall.h +index 4930167a03c97df2..2809f52f94e9ee16 100644 +--- a/sysdeps/unix/sysv/linux/arm/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/arm/arch-syscall.h +@@ -205,6 +205,7 @@ + #define __NR_mq_timedsend_time64 418 + #define __NR_mq_unlink 275 + #define __NR_mremap 163 ++#define __NR_mseal 462 + #define __NR_msgctl 304 + #define __NR_msgget 303 + #define __NR_msgrcv 302 +diff --git a/sysdeps/unix/sysv/linux/csky/arch-syscall.h b/sysdeps/unix/sysv/linux/csky/arch-syscall.h +index 3f16a29f5753e7a8..ede3551a00dc81c6 100644 +--- a/sysdeps/unix/sysv/linux/csky/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/csky/arch-syscall.h +@@ -168,6 +168,7 @@ + #define __NR_mq_timedsend_time64 418 + #define __NR_mq_unlink 181 + #define __NR_mremap 216 ++#define __NR_mseal 462 + #define __NR_msgctl 187 + #define __NR_msgget 186 + #define __NR_msgrcv 188 +@@ -301,7 +302,7 @@ + #define __NR_swapon 224 + #define __NR_symlinkat 36 + #define __NR_sync 81 +-#define __NR_sync_file_range 84 ++#define __NR_sync_file_range2 84 + #define __NR_syncfs 267 + #define __NR_sysinfo 179 + #define __NR_syslog 116 +diff --git a/sysdeps/unix/sysv/linux/hppa/arch-syscall.h b/sysdeps/unix/sysv/linux/hppa/arch-syscall.h +index a1b2c819d6522018..08b153f2ccdf6f45 100644 +--- a/sysdeps/unix/sysv/linux/hppa/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/hppa/arch-syscall.h +@@ -197,6 +197,7 @@ + #define __NR_mq_timedsend_time64 418 + #define __NR_mq_unlink 230 + #define __NR_mremap 163 ++#define __NR_mseal 462 + #define __NR_msgctl 191 + #define __NR_msgget 190 + #define __NR_msgrcv 189 +diff --git a/sysdeps/unix/sysv/linux/i386/arch-syscall.h b/sysdeps/unix/sysv/linux/i386/arch-syscall.h +index cc775432d663a745..500ca1ec70e2c5fc 100644 +--- a/sysdeps/unix/sysv/linux/i386/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/i386/arch-syscall.h +@@ -222,6 +222,7 @@ + #define __NR_mq_timedsend_time64 418 + #define __NR_mq_unlink 278 + #define __NR_mremap 163 ++#define __NR_mseal 462 + #define __NR_msgctl 402 + #define __NR_msgget 399 + #define __NR_msgrcv 401 +diff --git a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h +index 56bb08718ad32c04..8bb82448a7570d54 100644 +--- a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h +@@ -155,6 +155,7 @@ + #define __NR_mq_timedsend 182 + #define __NR_mq_unlink 181 + #define __NR_mremap 216 ++#define __NR_mseal 462 + #define __NR_msgctl 187 + #define __NR_msgget 186 + #define __NR_msgrcv 188 +diff --git a/sysdeps/unix/sysv/linux/m68k/arch-syscall.h b/sysdeps/unix/sysv/linux/m68k/arch-syscall.h +index 79f277dd5b8eda7b..4ab34f6228594c9f 100644 +--- a/sysdeps/unix/sysv/linux/m68k/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/m68k/arch-syscall.h +@@ -213,6 +213,7 @@ + #define __NR_mq_timedsend_time64 418 + #define __NR_mq_unlink 272 + #define __NR_mremap 163 ++#define __NR_mseal 462 + #define __NR_msgctl 402 + #define __NR_msgget 399 + #define __NR_msgrcv 401 +diff --git a/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h b/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h +index 779d5d5d7029d8ff..79e225e50c6d30b4 100644 +--- a/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h +@@ -221,6 +221,7 @@ + #define __NR_mq_timedsend_time64 418 + #define __NR_mq_unlink 278 + #define __NR_mremap 163 ++#define __NR_mseal 462 + #define __NR_msgctl 331 + #define __NR_msgget 332 + #define __NR_msgrcv 333 +diff --git a/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h +index 86ffd5ce84556c20..dadd7f3130a55625 100644 +--- a/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h +@@ -211,6 +211,7 @@ + #define __NR_mq_timedsend_time64 4418 + #define __NR_mq_unlink 4272 + #define __NR_mremap 4167 ++#define __NR_mseal 4462 + #define __NR_msgctl 4402 + #define __NR_msgget 4399 + #define __NR_msgrcv 4401 +diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h +index 5d37a686e511a499..db6b2d4609d87d3e 100644 +--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h +@@ -194,6 +194,7 @@ + #define __NR_mq_timedsend_time64 6418 + #define __NR_mq_unlink 6235 + #define __NR_mremap 6024 ++#define __NR_mseal 6462 + #define __NR_msgctl 6069 + #define __NR_msgget 6066 + #define __NR_msgrcv 6068 +diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h +index 9b1e846e7646d791..b4129a4dbdf71aec 100644 +--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h +@@ -183,6 +183,7 @@ + #define __NR_mq_timedsend 5232 + #define __NR_mq_unlink 5231 + #define __NR_mremap 5024 ++#define __NR_mseal 5462 + #define __NR_msgctl 5069 + #define __NR_msgget 5066 + #define __NR_msgrcv 5068 +diff --git a/sysdeps/unix/sysv/linux/nios2/arch-syscall.h b/sysdeps/unix/sysv/linux/nios2/arch-syscall.h +index abbc9ab6b083be80..f94e212995549062 100644 +--- a/sysdeps/unix/sysv/linux/nios2/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/nios2/arch-syscall.h +@@ -167,6 +167,7 @@ + #define __NR_mq_timedsend_time64 418 + #define __NR_mq_unlink 181 + #define __NR_mremap 216 ++#define __NR_mseal 462 + #define __NR_msgctl 187 + #define __NR_msgget 186 + #define __NR_msgrcv 188 +diff --git a/sysdeps/unix/sysv/linux/or1k/arch-syscall.h b/sysdeps/unix/sysv/linux/or1k/arch-syscall.h +index 7223a93673d9c6f7..2d21fa208576f795 100644 +--- a/sysdeps/unix/sysv/linux/or1k/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/or1k/arch-syscall.h +@@ -167,6 +167,7 @@ + #define __NR_mq_timedsend_time64 418 + #define __NR_mq_unlink 181 + #define __NR_mremap 216 ++#define __NR_mseal 462 + #define __NR_msgctl 187 + #define __NR_msgget 186 + #define __NR_msgrcv 188 +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h +index af0d2b121ebc7dc7..206d9fd65697d152 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h +@@ -211,6 +211,7 @@ + #define __NR_mq_timedsend_time64 418 + #define __NR_mq_unlink 263 + #define __NR_mremap 163 ++#define __NR_mseal 462 + #define __NR_msgctl 402 + #define __NR_msgget 399 + #define __NR_msgrcv 401 +diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h +index a4c70aa7fe719cb9..19f72a7f694a5322 100644 +--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h +@@ -195,6 +195,7 @@ + #define __NR_mq_timedsend 264 + #define __NR_mq_unlink 263 + #define __NR_mremap 163 ++#define __NR_mseal 462 + #define __NR_msgctl 402 + #define __NR_msgget 399 + #define __NR_msgrcv 401 +diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h +index 7315d164d64c89fa..eb9e57b02898cb79 100644 +--- a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h +@@ -153,6 +153,7 @@ + #define __NR_mq_timedsend_time64 418 + #define __NR_mq_unlink 181 + #define __NR_mremap 216 ++#define __NR_mseal 462 + #define __NR_msgctl 187 + #define __NR_msgget 186 + #define __NR_msgrcv 188 +diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h +index 31a1130db9404e60..1eac18e5822d8b3e 100644 +--- a/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h +@@ -158,6 +158,7 @@ + #define __NR_mq_timedsend 182 + #define __NR_mq_unlink 181 + #define __NR_mremap 216 ++#define __NR_mseal 462 + #define __NR_msgctl 187 + #define __NR_msgget 186 + #define __NR_msgrcv 188 +diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h b/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h +index cf8569304d9e6a16..464eca58b28ef5e0 100644 +--- a/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h +@@ -214,6 +214,7 @@ + #define __NR_mq_timedsend_time64 418 + #define __NR_mq_unlink 272 + #define __NR_mremap 163 ++#define __NR_mseal 462 + #define __NR_msgctl 402 + #define __NR_msgget 399 + #define __NR_msgrcv 401 +diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h b/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h +index f3536ed03f4b7d85..57842702fd389edd 100644 +--- a/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h +@@ -185,6 +185,7 @@ + #define __NR_mq_timedsend 273 + #define __NR_mq_unlink 272 + #define __NR_mremap 163 ++#define __NR_mseal 462 + #define __NR_msgctl 402 + #define __NR_msgget 399 + #define __NR_msgrcv 401 +diff --git a/sysdeps/unix/sysv/linux/sh/arch-syscall.h b/sysdeps/unix/sysv/linux/sh/arch-syscall.h +index 0c88bf10c77bef3a..165ba017c7411aef 100644 +--- a/sysdeps/unix/sysv/linux/sh/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/sh/arch-syscall.h +@@ -206,6 +206,7 @@ + #define __NR_mq_timedsend_time64 418 + #define __NR_mq_unlink 278 + #define __NR_mremap 163 ++#define __NR_mseal 462 + #define __NR_msgctl 402 + #define __NR_msgget 399 + #define __NR_msgrcv 401 +@@ -378,6 +379,7 @@ + #define __NR_symlinkat 304 + #define __NR_sync 36 + #define __NR_sync_file_range 314 ++#define __NR_sync_file_range2 388 + #define __NR_syncfs 362 + #define __NR_sysfs 135 + #define __NR_sysinfo 116 +diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h b/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h +index 19fa614624dc2b85..3bad6f102ffaafb2 100644 +--- a/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h +@@ -211,6 +211,7 @@ + #define __NR_mq_timedsend_time64 418 + #define __NR_mq_unlink 274 + #define __NR_mremap 250 ++#define __NR_mseal 462 + #define __NR_msgctl 402 + #define __NR_msgget 399 + #define __NR_msgrcv 401 +diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h b/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h +index 18516f20cbf25d77..98e143792026d0e8 100644 +--- a/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h +@@ -192,6 +192,7 @@ + #define __NR_mq_timedsend 275 + #define __NR_mq_unlink 274 + #define __NR_mremap 250 ++#define __NR_mseal 462 + #define __NR_msgctl 402 + #define __NR_msgget 399 + #define __NR_msgrcv 401 +diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list +index 672d39eaad4491f1..7871f93b94d731d2 100644 +--- a/sysdeps/unix/sysv/linux/syscall-names.list ++++ b/sysdeps/unix/sysv/linux/syscall-names.list +@@ -21,8 +21,8 @@ + # This file can list all potential system calls. The names are only + # used if the installed kernel headers also provide them. + +-# The list of system calls is current as of Linux 6.9. +-kernel 6.9 ++# The list of system calls is current as of Linux 6.10. ++kernel 6.10 + + FAST_atomic_update + FAST_cmpxchg +@@ -287,6 +287,7 @@ mq_timedsend + mq_timedsend_time64 + mq_unlink + mremap ++mseal + msgctl + msgget + msgrcv +diff --git a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h +index b1222160135310ec..5d86e75dd556caad 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h +@@ -189,6 +189,7 @@ + #define __NR_mq_timedsend 242 + #define __NR_mq_unlink 241 + #define __NR_mremap 25 ++#define __NR_mseal 462 + #define __NR_msgctl 71 + #define __NR_msgget 68 + #define __NR_msgrcv 70 +diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h +index df3e22236dd3bb0e..6c35068d8e8f4b05 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h +@@ -183,6 +183,7 @@ + #define __NR_mq_timedsend 1073742066 + #define __NR_mq_unlink 1073742065 + #define __NR_mremap 1073741849 ++#define __NR_mseal 1073742286 + #define __NR_msgctl 1073741895 + #define __NR_msgget 1073741892 + #define __NR_msgrcv 1073741894 diff --git a/glibc-RHEL-107695-8.patch b/glibc-RHEL-107695-8.patch new file mode 100644 index 0000000..f8a2b97 --- /dev/null +++ b/glibc-RHEL-107695-8.patch @@ -0,0 +1,57 @@ +commit e433cdec9b4b50e66d2f93fa92f622df8f4b870f +Author: Adhemerval Zanella +Date: Tue Jul 16 17:08:47 2024 +0000 + + Update kernel version to 6.10 in header constant tests + + This patch updates the kernel version in the tests tst-mman-consts.py, + tst-mount-consts.py, and tst-pidfd-consts.py to 6.9. + + There are no new constants covered by these tests in 6.10. + + Tested with build-many-glibcs.py. + Reviewed-by: Florian Weimer + +diff --git a/sysdeps/unix/sysv/linux/tst-mman-consts.py b/sysdeps/unix/sysv/linux/tst-mman-consts.py +index 441261c9456b2595..a1137eb1d59d95ec 100644 +--- a/sysdeps/unix/sysv/linux/tst-mman-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-mman-consts.py +@@ -33,7 +33,7 @@ def main(): + help='C compiler (including options) to use') + args = parser.parse_args() + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- linux_version_glibc = (6, 9) ++ linux_version_glibc = (6, 10) + sys.exit(glibcextract.compare_macro_consts( + '#define _GNU_SOURCE 1\n' + '#include \n', +diff --git a/sysdeps/unix/sysv/linux/tst-mount-consts.py b/sysdeps/unix/sysv/linux/tst-mount-consts.py +index c4a67221c1c5bc84..675f1790b64dd34e 100755 +--- a/sysdeps/unix/sysv/linux/tst-mount-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-mount-consts.py +@@ -39,10 +39,10 @@ def main(): + sys.exit (77) + + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- # Constants in glibc were updated to match Linux v6.9. When glibc ++ # Constants in glibc were updated to match Linux v6.10. When glibc + # constants are updated this value should be updated to match the + # released kernel version from which the constants were taken. +- linux_version_glibc = (6, 9) ++ linux_version_glibc = (6, 10) + def check(cte, exclude=None): + return glibcextract.compare_macro_consts( + '#include \n', +diff --git a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py +index 6f05291949d00c62..9824fd214d477fd0 100644 +--- a/sysdeps/unix/sysv/linux/tst-pidfd-consts.py ++++ b/sysdeps/unix/sysv/linux/tst-pidfd-consts.py +@@ -39,7 +39,7 @@ def main(): + sys.exit (77) + + linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) +- linux_version_glibc = (6, 9) ++ linux_version_glibc = (6, 10) + sys.exit(glibcextract.compare_macro_consts( + '#include \n', + '#include \n' diff --git a/glibc-RHEL-107695-9.patch b/glibc-RHEL-107695-9.patch new file mode 100644 index 0000000..10a864d --- /dev/null +++ b/glibc-RHEL-107695-9.patch @@ -0,0 +1,100 @@ +commit 02de16df481f15d5f6f2a8d98aa1bb2888aec13b +Author: Adhemerval Zanella +Date: Tue Oct 8 15:45:24 2024 -0300 + + Update syscall lists for Linux 6.11 + + Linux 6.11 changes for syscall are: + + * fstat/newfstatat for loongarch (it should be safe to add since + 255dc1e4ed8 that undefine them). + * clone3 for nios2, which only adds the entry point but defined + __ARCH_BROKEN_SYS_CLONE3 (the syscall will always return ENOSYS). + * uretprobe for x86_64 and x32. + + Update syscall-names.list and regenerate the arch-syscall.h headers + with build-many-glibcs.py update-syscalls. + + Tested with build-many-glibcs.py. + + Reviewed-by: H.J. Lu + +diff --git a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h +index 8bb82448a7570d54..7e732256fd4c6da7 100644 +--- a/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/loongarch/arch-syscall.h +@@ -59,6 +59,7 @@ + #define __NR_fsmount 432 + #define __NR_fsopen 430 + #define __NR_fspick 433 ++#define __NR_fstat 80 + #define __NR_fstatfs 44 + #define __NR_fsync 82 + #define __NR_ftruncate 46 +@@ -166,6 +167,7 @@ + #define __NR_munmap 215 + #define __NR_name_to_handle_at 264 + #define __NR_nanosleep 101 ++#define __NR_newfstatat 79 + #define __NR_nfsservctl 42 + #define __NR_open_by_handle_at 265 + #define __NR_open_tree 428 +diff --git a/sysdeps/unix/sysv/linux/nios2/arch-syscall.h b/sysdeps/unix/sysv/linux/nios2/arch-syscall.h +index f94e212995549062..b1d0fb6f6ec99125 100644 +--- a/sysdeps/unix/sysv/linux/nios2/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/nios2/arch-syscall.h +@@ -24,6 +24,7 @@ + #define __NR_clock_settime 112 + #define __NR_clock_settime64 404 + #define __NR_clone 220 ++#define __NR_clone3 435 + #define __NR_close 57 + #define __NR_close_range 436 + #define __NR_connect 203 +diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list +index 7871f93b94d731d2..aa5b479e2a08e7bb 100644 +--- a/sysdeps/unix/sysv/linux/syscall-names.list ++++ b/sysdeps/unix/sysv/linux/syscall-names.list +@@ -21,8 +21,8 @@ + # This file can list all potential system calls. The names are only + # used if the installed kernel headers also provide them. + +-# The list of system calls is current as of Linux 6.10. +-kernel 6.10 ++# The list of system calls is current as of Linux 6.11. ++kernel 6.11 + + FAST_atomic_update + FAST_cmpxchg +@@ -653,6 +653,7 @@ uname + unlink + unlinkat + unshare ++uretprobe + uselib + userfaultfd + usr26 +diff --git a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h +index 5d86e75dd556caad..dfc10d0c7e8a8f1e 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h +@@ -359,6 +359,7 @@ + #define __NR_unlink 87 + #define __NR_unlinkat 263 + #define __NR_unshare 272 ++#define __NR_uretprobe 335 + #define __NR_uselib 134 + #define __NR_userfaultfd 323 + #define __NR_ustat 136 +diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h +index 6c35068d8e8f4b05..9340daa967425c4a 100644 +--- a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h ++++ b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h +@@ -351,6 +351,7 @@ + #define __NR_unlink 1073741911 + #define __NR_unlinkat 1073742087 + #define __NR_unshare 1073742096 ++#define __NR_uretprobe 1073742159 + #define __NR_userfaultfd 1073742147 + #define __NR_ustat 1073741960 + #define __NR_utime 1073741956 diff --git a/glibc.spec b/glibc.spec index b669c2a..f393d00 100644 --- a/glibc.spec +++ b/glibc.spec @@ -147,7 +147,7 @@ Version: %{glibcversion} # - It allows using the Release number without the %%dist tag in the dependency # generator to make the generated requires interchangeable between Rawhide # and ELN (.elnYY < .fcXX). -%global baserelease 52 +%global baserelease 53 Release: %{baserelease}%{?dist}.alma.1 # Licenses: @@ -630,6 +630,25 @@ Patch304: glibc-RHEL-58357-8.patch Patch305: glibc-RHEL-58357-9.patch Patch306: glibc-RHEL-58357-10.patch Patch307: glibc-RHEL-58357-11.patch +Patch308: glibc-RHEL-107695-1.patch +Patch309: glibc-RHEL-107695-2.patch +Patch310: glibc-RHEL-107695-3.patch +Patch311: glibc-RHEL-107695-4.patch +Patch312: glibc-RHEL-107695-5.patch +Patch313: glibc-RHEL-107695-6.patch +Patch314: glibc-RHEL-107695-7.patch +Patch315: glibc-RHEL-107695-8.patch +Patch316: glibc-RHEL-107695-9.patch +Patch317: glibc-RHEL-107695-10.patch +Patch318: glibc-RHEL-107695-11.patch +Patch319: glibc-RHEL-107695-12.patch +Patch320: glibc-RHEL-107695-13.patch +Patch321: glibc-RHEL-107695-14.patch +Patch322: glibc-RHEL-107695-15.patch +Patch323: glibc-RHEL-107695-16.patch +Patch324: glibc-RHEL-107695-17.patch +Patch325: glibc-RHEL-107695-18.patch +Patch326: glibc-RHEL-107695-19.patch ############################################################################## # Continued list of core "glibc" package information: @@ -2649,12 +2668,16 @@ update_gconv_modules_cache () %endif %changelog -* Fri Aug 08 2025 Eduard Abdullin - 2.39-52.alma.1 +* Tue Aug 12 2025 Eduard Abdullin - 2.39-53.alma.1 - Overwrite target for x86_64_v2 - Add /usr/lib64/lp64d to ricv64 +* Wed Aug 06 2025 Frédéric Bérat - 2.39-53 +- Updated glibc to support Linux 6.15 kernel system calls and constants. + (RHEL-107695) + * Wed Aug 06 2025 Frédéric Bérat - 2.39-52 -- Resolved a regression impacting `sched_setattr` and `sched_getattr` functions. +- Add `sched_setattr` and `sched_getattr` functions (RHEL-58357) * Wed Aug 06 2025 Frédéric Bérat - 2.39-51 - Enhanced glibc documentation for core descriptor APIs. (RHEL-107861)