diff options
author | Dmitry Chestnykh <dm.chestnykh@gmail.com> | 2024-07-28 14:52:24 +0300 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2024-07-30 02:36:40 +0200 |
commit | 841d0729883ee0de606de161c1d6a5c37cedf575 (patch) | |
tree | 337386cc9e38c75b61f1e8671357f5ce0628a2a0 | |
parent | d0c8c185b439187b12644457bb2aa0326f25aaf7 (diff) |
Group conditions after `&&`
If the conditions are not grouped we can reach
this block even if `__NR_stat` is not defined.
`defined __NR_stat && ((!defined(__UCLIBC_USE_TIME64__) || defined(__sparc__))`
gives us false but `LINUX_VERSION_CODE <= KERNEL_VERSION(5,1,0))`
may give us true. So if linux headers version is below 5.1.0 and
__NR_stat is not defined we can have compilation error
Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
-rw-r--r-- | ldso/include/dl-syscall.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ldso/include/dl-syscall.h b/ldso/include/dl-syscall.h index 9ec0eac60..180d03012 100644 --- a/ldso/include/dl-syscall.h +++ b/ldso/include/dl-syscall.h @@ -141,7 +141,7 @@ static __always_inline int _dl_stat(const char *file_name, { return _dl_newfstatat(AT_FDCWD, file_name, buf, 0); } -#elif defined __NR_stat && (!defined(__UCLIBC_USE_TIME64__) || defined(__sparc__)) || (LINUX_VERSION_CODE <= KERNEL_VERSION(5,1,0)) +#elif defined __NR_stat && (!defined(__UCLIBC_USE_TIME64__) || defined(__sparc__) || (LINUX_VERSION_CODE <= KERNEL_VERSION(5,1,0))) # define __NR__dl_stat __NR_stat static __always_inline _syscall2(int, _dl_stat, const char *, file_name, struct stat *, buf) |