Message ID | 20220809172215.593850-1-adhemerval.zanella@linaro.org |
---|---|
State | New |
Headers | show |
Series | linux: Make tst-mount-consts unsupported for kernels headers older than 5.0 | expand |
* Adhemerval Zanella: > The linux/mount.h is only provided by Linux 5.0. > > Checked on x86_64-linux-gnu. > --- > sysdeps/unix/sysv/linux/tst-mount-consts.py | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/sysdeps/unix/sysv/linux/tst-mount-consts.py b/sysdeps/unix/sysv/linux/tst-mount-consts.py > index 4fb356310b..0f5b982430 100755 > --- a/sysdeps/unix/sysv/linux/tst-mount-consts.py > +++ b/sysdeps/unix/sysv/linux/tst-mount-consts.py > @@ -34,6 +34,9 @@ def main(): > args = parser.parse_args() > > linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) > + # Linux started to provide mount.h with 5.0. > + if linux_version_headers < (5, 0): > + sys.exit (77) > # Constants in glibc were updated to match Linux v5.19. When glibc > # constants are updated this value should be updated to match the > # released kernel version from which the constants were taken. Should this use compile_c_snippet from the other patch? Thanks, Florian
On 10/08/22 06:18, Florian Weimer wrote: > * Adhemerval Zanella: > >> The linux/mount.h is only provided by Linux 5.0. >> >> Checked on x86_64-linux-gnu. >> --- >> sysdeps/unix/sysv/linux/tst-mount-consts.py | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/sysdeps/unix/sysv/linux/tst-mount-consts.py b/sysdeps/unix/sysv/linux/tst-mount-consts.py >> index 4fb356310b..0f5b982430 100755 >> --- a/sysdeps/unix/sysv/linux/tst-mount-consts.py >> +++ b/sysdeps/unix/sysv/linux/tst-mount-consts.py >> @@ -34,6 +34,9 @@ def main(): >> args = parser.parse_args() >> >> linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) >> + # Linux started to provide mount.h with 5.0. >> + if linux_version_headers < (5, 0): >> + sys.exit (77) >> # Constants in glibc were updated to match Linux v5.19. When glibc >> # constants are updated this value should be updated to match the >> # released kernel version from which the constants were taken. > > Should this use compile_c_snippet from the other patch? It is strategy already used on tst-pidfd-consts.py. Not sure if syscalls backport to old releases is that common (it seems that we recently had to handle it for memfd_secret), but we do not usually take this in consideration on the __ASSUME macros and optimizations.
* Adhemerval Zanella Netto: > On 10/08/22 06:18, Florian Weimer wrote: >> * Adhemerval Zanella: >> >>> The linux/mount.h is only provided by Linux 5.0. >>> >>> Checked on x86_64-linux-gnu. >>> --- >>> sysdeps/unix/sysv/linux/tst-mount-consts.py | 3 +++ >>> 1 file changed, 3 insertions(+) >>> >>> diff --git a/sysdeps/unix/sysv/linux/tst-mount-consts.py b/sysdeps/unix/sysv/linux/tst-mount-consts.py >>> index 4fb356310b..0f5b982430 100755 >>> --- a/sysdeps/unix/sysv/linux/tst-mount-consts.py >>> +++ b/sysdeps/unix/sysv/linux/tst-mount-consts.py >>> @@ -34,6 +34,9 @@ def main(): >>> args = parser.parse_args() >>> >>> linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) >>> + # Linux started to provide mount.h with 5.0. >>> + if linux_version_headers < (5, 0): >>> + sys.exit (77) >>> # Constants in glibc were updated to match Linux v5.19. When glibc >>> # constants are updated this value should be updated to match the >>> # released kernel version from which the constants were taken. >> >> Should this use compile_c_snippet from the other patch? > > It is strategy already used on tst-pidfd-consts.py. Not sure if syscalls > backport to old releases is that common (it seems that we recently had to > handle it for memfd_secret), but we do not usually take this in consideration > on the __ASSUME macros and optimizations. I think <linux/mount.h> has been backported fairly widely because it's needed by userspace file servers. On older kernels, you could perhaps use <linux/fs.h> instead. Thanks, Florian
diff --git a/sysdeps/unix/sysv/linux/tst-mount-consts.py b/sysdeps/unix/sysv/linux/tst-mount-consts.py index 4fb356310b..0f5b982430 100755 --- a/sysdeps/unix/sysv/linux/tst-mount-consts.py +++ b/sysdeps/unix/sysv/linux/tst-mount-consts.py @@ -34,6 +34,9 @@ def main(): args = parser.parse_args() linux_version_headers = glibcsyscalls.linux_kernel_version(args.cc) + # Linux started to provide mount.h with 5.0. + if linux_version_headers < (5, 0): + sys.exit (77) # Constants in glibc were updated to match Linux v5.19. When glibc # constants are updated this value should be updated to match the # released kernel version from which the constants were taken.