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] |
There are various implementations of fork under sysdeps/unix that are unused: Linux architectures all use versions under nptl/sysdeps/unix/sysv/linux and Hurd also has its own version. I propose this patch to remove the unused implementations. Tested x86_64. David, could you review the removal of the SPARC versions? (I'd also encourage looking at sysdeps/unix/sparc to see if anything else there is unused and should be removed.) I'll remove the corresponding unused ARM and MIPS files in ports; Mike, you'll probably want to remove sysdeps/unix/sysv/linux/ia64/fork.S in ports as unused as well. 2012-04-24 Joseph Myers <joseph@codesourcery.com> * sysdeps/unix/fork.S: Remove file. * sysdeps/unix/i386/fork.S: Likewise. * sysdeps/unix/sparc/fork.S: Likewise. * sysdeps/unix/sysv/linux/sparc/fork.S: Likewise. diff --git a/sysdeps/unix/fork.S b/sysdeps/unix/fork.S deleted file mode 100644 index 3a8f15d..0000000 --- a/sysdeps/unix/fork.S +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1991,92,94,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> - -/* This code works for at least m68k. */ - -SYSCALL__ (fork, 0) - /* R1 is now 0 for the parent and 1 for the child. Decrement it to - make it -1 (all bits set) for the parent, and 0 (no bits set) - for the child. Then AND it with R0, so the parent gets - R0&-1==R0, and the child gets R0&0==0. */ - subl #1, r1 - andl r1, r0 - ret -PSEUDO_END (__fork) -libc_hidden_def (__fork) - -weak_alias (__fork, fork) diff --git a/sysdeps/unix/i386/fork.S b/sysdeps/unix/i386/fork.S deleted file mode 100644 index 1c17991..0000000 --- a/sysdeps/unix/i386/fork.S +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1991,92,94,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__ (fork, 0) - /* R1 is now 0 for the parent and 1 for the child. Decrement it to - make it -1 (all bits set) for the parent, and 0 (no bits set) - for the child. Then AND it with R0, so the parent gets - R0&-1==R0, and the child gets R0&0==0. */ - decl r1 - andl r1, r0 - ret -PSEUDO_END (__fork) -libc_hidden_def (__fork) - -weak_alias (__fork, fork) diff --git a/sysdeps/unix/sparc/fork.S b/sysdeps/unix/sparc/fork.S deleted file mode 100644 index be07ff2..0000000 --- a/sysdeps/unix/sparc/fork.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1991, 92, 94, 95, 97, 99, 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__ (fork, 0) - /* %o1 is now 0 for the parent and 1 for the child. Decrement it to - make it -1 (all bits set) for the parent, and 0 (no bits set) - for the child. Then AND it with %o0, so the parent gets - %o0&-1==pid, and the child gets %o0&0==0. */ - sub %o1, 1, %o1 - retl - and %o0, %o1, %o0 -libc_hidden_def (__fork) - -weak_alias (__fork, fork) diff --git a/sysdeps/unix/sysv/linux/sparc/fork.S b/sysdeps/unix/sysv/linux/sparc/fork.S deleted file mode 100644 index daf09d9..0000000 --- a/sysdeps/unix/sysv/linux/sparc/fork.S +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1997, 1999, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Miguel de Icaza <miguel@gnu.ai.mit.edu>, 1997. - - 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> - -PSEUDO (__libc_fork, fork, 0) - sub %o1, 1, %o1 - retl - and %o0, %o1, %o0 -PSEUDO_END (__libc_fork) - -weak_alias (__libc_fork, __fork) -libc_hidden_def (__fork) -weak_alias (__libc_fork, fork) -- 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] |