From 71e4344f2568c53d7d7a122ae2b4196c1d2b8ae0 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Netto Date: Wed, 19 Oct 2022 19:14:29 -0300 Subject: [PATCH] Linux: Remove generic sysdep The includes chain is added on each architecture sysdep.h and the __NR__llseek hack is moved to lseek.c and lseek64.c. Reviewed-by: Carlos O'Donell Tested-by: Carlos O'Donell --- sysdeps/unix/sysv/linux/aarch64/sysdep.h | 3 ++- sysdeps/unix/sysv/linux/arc/sysdep.h | 4 +++- sysdeps/unix/sysv/linux/csky/sysdep.h | 2 +- sysdeps/unix/sysv/linux/generic/sysdep.h | 26 ---------------------- sysdeps/unix/sysv/linux/loongarch/sysdep.h | 3 ++- sysdeps/unix/sysv/linux/lseek.c | 4 ++++ sysdeps/unix/sysv/linux/lseek64.c | 4 ++++ sysdeps/unix/sysv/linux/nios2/sysdep.h | 2 +- sysdeps/unix/sysv/linux/or1k/sysdep.h | 3 ++- sysdeps/unix/sysv/linux/riscv/sysdep.h | 3 ++- 10 files changed, 21 insertions(+), 33 deletions(-) delete mode 100644 sysdeps/unix/sysv/linux/generic/sysdep.h diff --git a/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/sysdeps/unix/sysv/linux/aarch64/sysdep.h index 8ba50dab8f..1b0585b9c4 100644 --- a/sysdeps/unix/sysv/linux/aarch64/sysdep.h +++ b/sysdeps/unix/sysv/linux/aarch64/sysdep.h @@ -21,7 +21,8 @@ #include #include -#include +#include +#include /* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO. */ #include diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.h b/sysdeps/unix/sysv/linux/arc/sysdep.h index 512284a705..95cfd5893d 100644 --- a/sysdeps/unix/sysv/linux/arc/sysdep.h +++ b/sysdeps/unix/sysv/linux/arc/sysdep.h @@ -20,7 +20,9 @@ #define _LINUX_ARC_SYSDEP_H 1 #include -#include +#include +#include +#include /* "workarounds" for generic code needing to handle 64-bit time_t. */ diff --git a/sysdeps/unix/sysv/linux/csky/sysdep.h b/sysdeps/unix/sysv/linux/csky/sysdep.h index 76b09f0cc6..9632be6ca4 100644 --- a/sysdeps/unix/sysv/linux/csky/sysdep.h +++ b/sysdeps/unix/sysv/linux/csky/sysdep.h @@ -20,9 +20,9 @@ #define _LINUX_CSKY_SYSDEP_H 1 /* There is some commonality. */ -#include #include #include +#include /* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO. */ #include diff --git a/sysdeps/unix/sysv/linux/generic/sysdep.h b/sysdeps/unix/sysv/linux/generic/sysdep.h deleted file mode 100644 index 7af5cb4e16..0000000000 --- a/sysdeps/unix/sysv/linux/generic/sysdep.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 2011-2022 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#include -#include -#include -#include - -/* Provide the common name to allow more code reuse. */ -#ifdef __NR_llseek -# define __NR__llseek __NR_llseek -#endif diff --git a/sysdeps/unix/sysv/linux/loongarch/sysdep.h b/sysdeps/unix/sysv/linux/loongarch/sysdep.h index 09f8243f25..9437c33fcb 100644 --- a/sysdeps/unix/sysv/linux/loongarch/sysdep.h +++ b/sysdeps/unix/sysv/linux/loongarch/sysdep.h @@ -19,7 +19,8 @@ #ifndef _LINUX_LOONGARCH_SYSDEP_H #define _LINUX_LOONGARCH_SYSDEP_H 1 -#include +#include +#include #include #ifdef __ASSEMBLER__ diff --git a/sysdeps/unix/sysv/linux/lseek.c b/sysdeps/unix/sysv/linux/lseek.c index 148503d7bc..3f10c8dc96 100644 --- a/sysdeps/unix/sysv/linux/lseek.c +++ b/sysdeps/unix/sysv/linux/lseek.c @@ -41,6 +41,10 @@ static inline off_t lseek_overflow (loff_t res) off_t __lseek (int fd, off_t offset, int whence) { +#ifdef __NR_llseek +# define __NR__llseek __NR_llseek +#endif + # ifdef __NR__llseek loff_t res; int rc = INLINE_SYSCALL_CALL (_llseek, fd, diff --git a/sysdeps/unix/sysv/linux/lseek64.c b/sysdeps/unix/sysv/linux/lseek64.c index 74aab82f5a..d14ba9e12b 100644 --- a/sysdeps/unix/sysv/linux/lseek64.c +++ b/sysdeps/unix/sysv/linux/lseek64.c @@ -26,6 +26,10 @@ off64_t __lseek64 (int fd, off64_t offset, int whence) { +#ifdef __NR_llseek +# define __NR__llseek __NR_llseek +#endif + #ifdef __NR__llseek loff_t res; int rc = INLINE_SYSCALL_CALL (_llseek, fd, diff --git a/sysdeps/unix/sysv/linux/nios2/sysdep.h b/sysdeps/unix/sysv/linux/nios2/sysdep.h index 46667b9c19..8b3e402ffe 100644 --- a/sysdeps/unix/sysv/linux/nios2/sysdep.h +++ b/sysdeps/unix/sysv/linux/nios2/sysdep.h @@ -19,9 +19,9 @@ #ifndef _LINUX_NIOS2_SYSDEP_H #define _LINUX_NIOS2_SYSDEP_H 1 +#include #include #include -#include /* For RTLD_PRIVATE_ERRNO. */ #include diff --git a/sysdeps/unix/sysv/linux/or1k/sysdep.h b/sysdeps/unix/sysv/linux/or1k/sysdep.h index b1fdf2a806..aca480d7a9 100644 --- a/sysdeps/unix/sysv/linux/or1k/sysdep.h +++ b/sysdeps/unix/sysv/linux/or1k/sysdep.h @@ -19,8 +19,9 @@ #ifndef _LINUX_OR1K_SYSDEP_H #define _LINUX_OR1K_SYSDEP_H 1 +#include #include -#include +#include #include /* "workarounds" for generic code needing to handle 64-bit time_t. */ diff --git a/sysdeps/unix/sysv/linux/riscv/sysdep.h b/sysdeps/unix/sysv/linux/riscv/sysdep.h index c9af888132..4af5fe5dbc 100644 --- a/sysdeps/unix/sysv/linux/riscv/sysdep.h +++ b/sysdeps/unix/sysv/linux/riscv/sysdep.h @@ -19,7 +19,8 @@ #ifndef _LINUX_RISCV_SYSDEP_H #define _LINUX_RISCV_SYSDEP_H 1 -#include +#include +#include #include #undef SYS_ify