This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Remove unused sysdeps/unix/i386 files


Most of the system-call-related files in sysdeps/unix/i386/ appear to
be unused.

On Linux, brk.S is overridden by sysdeps/unix/sysv/linux/i386/brk.c
and dl-brk.c by sysdeps/unix/sysv/linux/dl-brk.c; pipe.S by the
sysdeps/unix/sysv/linux/syscalls.list entry; sigreturn.S by
sysdeps/unix/sysv/linux/sigreturn.c; syscall.S by
sysdeps/unix/sysv/linux/i386/syscall.S; vfork.S by
sysdeps/unix/sysv/linux/i386/vfork.S and the NPTL version thereof;
wait.S by sysdeps/unix/sysv/linux/wait.c.

I'm not sure if Hurd ends up using sysdeps/unix/i386 at all, but all
these files are clearly related to Unix-style syscall conventions and
so inapplicable to Hurd, which I think will end up using
sysdeps/mach/hurd/brk.c, elf/dl-brk.c, sysdeps/mach/hurd/pipe.c,
sysdeps/mach/hurd/i386/sigreturn.c, sysdeps/mach/i386/syscall.S,
posix/vfork.c or sysdeps/unix/bsd/i386/vfork.S, and
sysdeps/unix/bsd/bsd4.4/wait.c.

I propose this patch to remove these files as unused.  Tested x86.

2012-04-26  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/i386/brk.S: Remove file.
	* sysdeps/unix/i386/dl-brk.S: Likewise.
	* sysdeps/unix/i386/pipe.S: Likewise.
	* sysdeps/unix/i386/sigreturn.S: Likewise.
	* sysdeps/unix/i386/syscall.S: Likewise.
	* sysdeps/unix/i386/vfork.S: Likewise.
	* sysdeps/unix/i386/wait.S: Likewise.

diff --git a/sysdeps/unix/i386/brk.S b/sysdeps/unix/i386/brk.S
deleted file mode 100644
index bb1f4e5..0000000
--- a/sysdeps/unix/i386/brk.S
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 1991,92,93,95,97,2002,2005 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
-   <http://www.gnu.org/licenses/>.  */
-
-#include <sysdep.h>
-
-#ifndef	SYS_brk
-#define	SYS_brk	17
-#endif
-
-.data
-.globl C_SYMBOL_NAME(__curbrk)
-C_LABEL(__curbrk)
-	.long C_SYMBOL_NAME(_end)
-
-.text
-SYSCALL__ (brk, 1)
-	movl 4(%esp), %eax
-#ifdef	PIC
-	/* Standard PIC nonsense to store into `__curbrk' through the GOT.  */
-	call L(here)
-L(here): popl %ecx
-	addl $_GLOBAL_OFFSET_TABLE_+[.-L(here)], %ecx
-	movl C_SYMBOL_NAME(__curbrk@GOT)(%ecx), %ecx
-	movl %eax, (%ecx)
-#else
-	movl %eax, C_SYMBOL_NAME(__curbrk)
-#endif
-	xorl %eax, %eax
-	ret
-PSEUDO_END (__brk)
-
-weak_alias (__brk, brk)
diff --git a/sysdeps/unix/i386/dl-brk.S b/sysdeps/unix/i386/dl-brk.S
deleted file mode 100644
index eeb9654..0000000
--- a/sysdeps/unix/i386/dl-brk.S
+++ /dev/null
@@ -1 +0,0 @@
-#include <brk.S>
diff --git a/sysdeps/unix/i386/pipe.S b/sysdeps/unix/i386/pipe.S
deleted file mode 100644
index 0ca44d7..0000000
--- a/sysdeps/unix/i386/pipe.S
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 1991,92,93,95,97,2002 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
-   <http://www.gnu.org/licenses/>.  */
-
-#include <sysdep.h>
-
-SYSCALL__ (pipe, 1)
-	movl 4(%esp), scratch
-	movl %eax, (scratch)
-	movl r1, 4(scratch)
-	xorl %eax, %eax
-	ret
-PSEUDO_END (__pipe)
-
-libc_hidden_def (__pipe)
-weak_alias (__pipe, pipe)
diff --git a/sysdeps/unix/i386/sigreturn.S b/sysdeps/unix/i386/sigreturn.S
deleted file mode 100644
index 33fe17e..0000000
--- a/sysdeps/unix/i386/sigreturn.S
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright (C) 1992, 1993, 1995, 1997 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
-   <http://www.gnu.org/licenses/>.  */
-
-#include <sysdep.h>
-
-.text
-ENTRY (__sigreturn)
-	addl $4, %esp		/* Pop the return PC.  */
-	DO_CALL (sigreturn, 0)	/* Do the system call; it never returns.  */
-	/* NOTREACHED */
-
-weak_alias (__sigreturn, sigreturn)
diff --git a/sysdeps/unix/i386/syscall.S b/sysdeps/unix/i386/syscall.S
deleted file mode 100644
index e93926b..0000000
--- a/sysdeps/unix/i386/syscall.S
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 1993, 1995, 1997 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
-   <http://www.gnu.org/licenses/>.  */
-
-#include <sysdep.h>
-
-.globl syscall_error
-ENTRY (syscall)
-	popl %ecx		/* Pop return address into %ecx.  */
-	popl %eax		/* Pop syscall number into %eax.  */
-	pushl %ecx		/* Push back return address.  */
-	.byte 0x9a, 0, 0, 0, 0, 7, 0 /* lcall $7, $0 -- gas bug */
-	jb JUMPTARGET(syscall_error)
-	ret
diff --git a/sysdeps/unix/i386/vfork.S b/sysdeps/unix/i386/vfork.S
deleted file mode 100644
index 7f8a629..0000000
--- a/sysdeps/unix/i386/vfork.S
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 1994, 1997 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
-   <http://www.gnu.org/licenses/>.  */
-
-#include <sysdep.h>
-
-/* Go directly into __vfork, don't do anything with the stack ptr.  */
-
-ENTRY(vfork)
-	jmp __vfork
diff --git a/sysdeps/unix/i386/wait.S b/sysdeps/unix/i386/wait.S
deleted file mode 100644
index b107ebb..0000000
--- a/sysdeps/unix/i386/wait.S
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 1991,92,93,95,97,2002 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
-   <http://www.gnu.org/licenses/>.  */
-
-#include <sysdep.h>
-
-SYSCALL__ (wait, 1)
-	movl 4(%esp), scratch	/* Put status pointer in scratch register.  */
-	testl scratch, scratch	/* Is it non-nil?  */
-	je null
-	movl r1, (scratch)	/* Yes; store the status there.  */
-null:	ret
-PSEUDO_END (__wait)
-
-weak_alias (__wait, wait)

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]