From 9b8f8593e5d919d8ea9a5f21ce7473246651ec2f Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Mon, 28 Nov 2016 15:18:22 -0200 Subject: Consolidate Linux fcntl implementation This patch consolidates the fcntl Linux syscall generation on sysdeps/unix/sysv/linux/fcntl.c. It basically removes all the architecture specific implementations. Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32, aarch64-linux-gnu, arm-linux-gnueabihf, and powerpc64le-linux-gnu. * sysdeps/unix/sysv/linux/arm/fcntl.c: Remove file. * sysdeps/unix/sysv/linux/generic/wordsize-32/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/hppa/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/m68k/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/microblaze/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/n32/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/sh/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/fcntl.c: Likewise. * sysdeps/unix/sysv/linux/fcntl.c: New file. * sysdeps/unix/sysv/linux/powerpc/powerpc64/fcntl.c: Refactor to use default implementation. --- sysdeps/unix/sysv/linux/i386/fcntl.c | 61 ------------------------------------ 1 file changed, 61 deletions(-) delete mode 100644 sysdeps/unix/sysv/linux/i386/fcntl.c (limited to 'sysdeps/unix/sysv/linux/i386') diff --git a/sysdeps/unix/sysv/linux/i386/fcntl.c b/sysdeps/unix/sysv/linux/i386/fcntl.c deleted file mode 100644 index b0a5783a8a..0000000000 --- a/sysdeps/unix/sysv/linux/i386/fcntl.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright (C) 2000-2017 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 /* Must come before . */ -#include -#include - -#include - -#ifndef NO_CANCELLATION -int -__fcntl_nocancel (int fd, int cmd, ...) -{ - va_list ap; - void *arg; - - va_start (ap, cmd); - arg = va_arg (ap, void *); - va_end (ap); - - return INLINE_SYSCALL (fcntl64, 3, fd, cmd, arg); -} -#endif /* NO_CANCELLATION */ - - -int -__libc_fcntl (int fd, int cmd, ...) -{ - va_list ap; - void *arg; - - va_start (ap, cmd); - arg = va_arg (ap, void *); - va_end (ap); - - if ((cmd != F_SETLKW) && (cmd != F_SETLKW64)) - return INLINE_SYSCALL (fcntl64, 3, fd, cmd, arg); - - return SYSCALL_CANCEL (fcntl64, fd, cmd, arg); -} -libc_hidden_def (__libc_fcntl) - -weak_alias (__libc_fcntl, __fcntl) -libc_hidden_weak (__fcntl) -weak_alias (__libc_fcntl, fcntl) -- cgit 1.4.1