diff --git a/ChangeLog b/ChangeLog index f3c01c93a0..955d10a45f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,34 @@ 2002-12-31 Ulrich Drepper + * include/unistd.h: Add libc_hidden_proto for __fork and __vfork. + * sysdeps/generic/fork.c: Add libc_hidden_def for __fork. + * sysdeps/mach/hurd/fork.c: Likewise. + * sysdeps/unix/sysv/aix/fork.c: Likewise. + * sysdeps/unix/fork.S: Add __GI___fork alias. + * sysdeps/unix/arm/fork.S: Likewise. + * sysdeps/unix/bsd/osf/alpha/fork.S: Likewise. + * sysdeps/unix/i386/fork.S: Likewise. + * sysdeps/unix/mips/fork.S: Likewise. + * sysdeps/unix/sparc/fork.S: Likewise. + * sysdeps/unix/sysv/linux/ia64/fork.S: Likewise. + * sysdeps/unix/sysv/linux/sparc/fork.S: Likewise. + * sysdeps/unix/sysv/linux/syscalls.list: Likewise. + * sysdeps/generic/vfork.c: Add libc_hidden_def for __vfork. + * sysdeps/unix/bsd/hp/m68k/vfork.S: Add __GI___vfork alias. + * sysdeps/unix/bsd/i386/vfork.S: Likewise. + * sysdeps/unix/bsd/sun/m68k/vfork.S: Likewise. + * sysdeps/unix/bsd/ultrix4/mips/vfork.S: Likewise. + * sysdeps/unix/bsd/vax/vfork.S: Likewise. + * sysdeps/unix/sparc/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/arm/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/cris/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/i386/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/ia64/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/m68k/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/sh/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/sparc/vfork.S: Likewise. + * sysdeps/unix/sysv/linux/x86_64/vfork.S: Likewise. + * include/time.h: Add libc_hidden_proto for __nanosleep. * sysdeps/generic/nanosleep.c: Add libc_hidden_def for __nanosleep. * sysdeps/mach/nanosleep.c: Likewise. diff --git a/include/unistd.h b/include/unistd.h index ab6fd671de..7481af7bc7 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -104,6 +104,7 @@ libc_hidden_proto (__getresgid) libc_hidden_proto (__setresuid) libc_hidden_proto (__setresgid) extern __pid_t __vfork (void); +libc_hidden_proto (__vfork) extern int __ttyname_r (int __fd, char *__buf, size_t __buflen); extern int __isatty (int __fd); extern int __link (__const char *__from, __const char *__to); @@ -123,6 +124,7 @@ libc_hidden_proto (__read) extern ssize_t __write (int __fd, __const void *__buf, size_t __n); libc_hidden_proto (__write) extern __pid_t __fork (void); +libc_hidden_proto (__fork) extern int __getpagesize (void) __attribute__ ((__const__)); libc_hidden_proto (__getpagesize) extern int __ftruncate (int __fd, __off_t __length); diff --git a/sysdeps/generic/fork.c b/sysdeps/generic/fork.c index d1ad534a73..c19fa656b3 100644 --- a/sysdeps/generic/fork.c +++ b/sysdeps/generic/fork.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995, 1996, 1997, 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 @@ -29,6 +29,7 @@ __fork () __set_errno (ENOSYS); return -1; } +libc_hidden_def (__fork) stub_warning (fork) weak_alias (__fork, fork) diff --git a/sysdeps/generic/vfork.c b/sysdeps/generic/vfork.c index 08f978e1ad..d15841d712 100644 --- a/sysdeps/generic/vfork.c +++ b/sysdeps/generic/vfork.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1995, 1997, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995, 1997, 2000, 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 @@ -26,5 +26,6 @@ __vfork (void) { return __fork (); } +libc_hidden_def (__vfork) weak_alias (__vfork, vfork) diff --git a/sysdeps/mach/hurd/fork.c b/sysdeps/mach/hurd/fork.c index b64a83d766..c3f8a1a86b 100644 --- a/sysdeps/mach/hurd/fork.c +++ b/sysdeps/mach/hurd/fork.c @@ -692,5 +692,6 @@ __fork (void) return err ? __hurd_fail (err) : pid; } +libc_hidden_def (__fork) weak_alias (__fork, fork) diff --git a/sysdeps/unix/arm/fork.S b/sysdeps/unix/arm/fork.S index deb22548e2..19981451b6 100644 --- a/sysdeps/unix/arm/fork.S +++ b/sysdeps/unix/arm/fork.S @@ -29,5 +29,6 @@ SYSCALL__ (fork, 0) and r0, r0, r1 RETINSTR(mov, pc, r14) PSEUDO_END (__fork) +strong_alias (__fork, __GI___fork) weak_alias (__fork, fork) diff --git a/sysdeps/unix/bsd/hp/m68k/vfork.S b/sysdeps/unix/bsd/hp/m68k/vfork.S index 4bb5939dbe..0e15a5089d 100644 --- a/sysdeps/unix/bsd/hp/m68k/vfork.S +++ b/sysdeps/unix/bsd/hp/m68k/vfork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1994, 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1994, 1995, 1997, 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 @@ -51,5 +51,6 @@ error: movel d0, _errno moveq #-1, d0 jmp a0@ +strong_alias (__vfork, __GI___vfork) weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/bsd/i386/vfork.S b/sysdeps/unix/bsd/i386/vfork.S index 80060066be..dfcbe48821 100644 --- a/sysdeps/unix/bsd/i386/vfork.S +++ b/sysdeps/unix/bsd/i386/vfork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1994, 1995, 1997, 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 @@ -35,5 +35,6 @@ ENTRY (__vfork) decl r1 andl r1, r0 ret +strong_alias (__vfork, __GI___vfork) weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/bsd/osf/alpha/fork.S b/sysdeps/unix/bsd/osf/alpha/fork.S index 90cf4bd9c8..13b12239ba 100644 --- a/sysdeps/unix/bsd/osf/alpha/fork.S +++ b/sysdeps/unix/bsd/osf/alpha/fork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1993, 1995, 1997, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Brendan Kehoe (brendan@zen.org). @@ -23,5 +23,6 @@ SYSCALL__ (fork, 0) cmovne a4, 0, v0 ret .end __fork +strong_alias (__fork, __GI___fork) weak_alias (__fork, fork) diff --git a/sysdeps/unix/bsd/sun/m68k/vfork.S b/sysdeps/unix/bsd/sun/m68k/vfork.S index fe0309e3aa..006688936b 100644 --- a/sysdeps/unix/bsd/sun/m68k/vfork.S +++ b/sysdeps/unix/bsd/sun/m68k/vfork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 94, 95, 97 Free Software Foundation, Inc. +/* Copyright (C) 1991, 92, 93, 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 @@ -51,5 +51,6 @@ error: movel d0, _errno moveq #-1, d0 jmp a0@ +strong_alias (__vfork, __GI___vfork) weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/bsd/ultrix4/mips/vfork.S b/sysdeps/unix/bsd/ultrix4/mips/vfork.S index 9541eafbae..80e7328c71 100644 --- a/sysdeps/unix/bsd/ultrix4/mips/vfork.S +++ b/sysdeps/unix/bsd/ultrix4/mips/vfork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995, 1997, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Brendan Kehoe (brendan@zen.org). @@ -31,5 +31,6 @@ parent: ret nop .end __vfork +strong_alias (__vfork, __GI___vfork) weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/bsd/vax/vfork.S b/sysdeps/unix/bsd/vax/vfork.S index 8098b0eca6..16f0e98bb2 100644 --- a/sysdeps/unix/bsd/vax/vfork.S +++ b/sysdeps/unix/bsd/vax/vfork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992, 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1992, 1995, 1997, 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 @@ -52,5 +52,6 @@ error: movl r0, _errno mnegl $1, r0 jmp (r2) +strong_alias (__vfork, __GI___vfork) weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/fork.S b/sysdeps/unix/fork.S index 49bf6c4e54..0a71520ac8 100644 --- a/sysdeps/unix/fork.S +++ b/sysdeps/unix/fork.S @@ -29,5 +29,6 @@ SYSCALL__ (fork, 0) andl r1, r0 ret PSEUDO_END (__fork) +strong_alias (__fork, __GI___fork) weak_alias (__fork, fork) diff --git a/sysdeps/unix/i386/fork.S b/sysdeps/unix/i386/fork.S index 6d5ed5bbbd..a33a0b9d9a 100644 --- a/sysdeps/unix/i386/fork.S +++ b/sysdeps/unix/i386/fork.S @@ -27,5 +27,6 @@ SYSCALL__ (fork, 0) andl r1, r0 ret PSEUDO_END (__fork) +strong_alias (__fork, __GI___fork) weak_alias (__fork, fork) diff --git a/sysdeps/unix/mips/fork.S b/sysdeps/unix/mips/fork.S index 3273216030..dcec965671 100644 --- a/sysdeps/unix/mips/fork.S +++ b/sysdeps/unix/mips/fork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1995, 1997, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Brendan Kehoe (brendan@zen.org). @@ -27,5 +27,6 @@ SYSCALL__ (fork, 0) parent: ret .end __fork +strong_alias (__fork, __GI___fork) weak_alias (__fork, fork) diff --git a/sysdeps/unix/sparc/fork.S b/sysdeps/unix/sparc/fork.S index 8ed343b80d..735a9599b7 100644 --- a/sysdeps/unix/sparc/fork.S +++ b/sysdeps/unix/sparc/fork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 94, 95, 97, 99 Free Software Foundation, Inc. +/* 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 @@ -26,5 +26,6 @@ SYSCALL__ (fork, 0) sub %o1, 1, %o1 retl and %o0, %o1, %o0 +strong_alias (__fork, __GI___fork) weak_alias (__fork, fork) diff --git a/sysdeps/unix/sparc/vfork.S b/sysdeps/unix/sparc/vfork.S index 071ac728d9..0eb1080cf8 100644 --- a/sysdeps/unix/sparc/vfork.S +++ b/sysdeps/unix/sparc/vfork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 94, 95, 97, 99 Free Software Foundation, Inc. +/* 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 @@ -30,5 +30,6 @@ SYSCALL__ (vfork, 0) sub %o1, 1, %o1 retl and %o0, %o1, %o0 +strong_alias (__vfork, __GI___vfork) weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/sysv/aix/fork.c b/sysdeps/unix/sysv/aix/fork.c index f3b02c9870..478d4afad1 100644 --- a/sysdeps/unix/sysv/aix/fork.c +++ b/sysdeps/unix/sysv/aix/fork.c @@ -25,4 +25,5 @@ __fork (void) { return kfork (); } +libc_hidden_def (__fork) strong_alias (__fork, fork) diff --git a/sysdeps/unix/sysv/linux/arm/vfork.S b/sysdeps/unix/sysv/linux/arm/vfork.S index b10117e9f8..3364c686d6 100644 --- a/sysdeps/unix/sysv/linux/arm/vfork.S +++ b/sysdeps/unix/sysv/linux/arm/vfork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Philip Blundell . @@ -44,7 +44,8 @@ ENTRY (__vfork) cmn a1, #4096 RETINSTR(movcc, pc, lr) b PLTJMP(C_SYMBOL_NAME(__syscall_error)) - + PSEUDO_END (__vfork) +strong_alias (__vfork, __GI___vfork) weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/sysv/linux/cris/vfork.S b/sysdeps/unix/sysv/linux/cris/vfork.S index 39985a08a5..f471efe0a5 100644 --- a/sysdeps/unix/sysv/linux/cris/vfork.S +++ b/sysdeps/unix/sysv/linux/cris/vfork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2001, 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 @@ -22,5 +22,6 @@ PSEUDO (__vfork, vfork, 0) Ret nop PSEUDO_END (__vfork) +strong_alias (__vfork, __GI___vfork) weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/sysv/linux/i386/vfork.S b/sysdeps/unix/sysv/linux/i386/vfork.S index 59657e49c0..a3ff0d4eef 100644 --- a/sysdeps/unix/sysv/linux/i386/vfork.S +++ b/sysdeps/unix/sysv/linux/i386/vfork.S @@ -73,5 +73,6 @@ ENTRY (__vfork) ret #endif PSEUDO_END (__vfork) +strong_alias (__vfork, __GI___vfork) weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/sysv/linux/ia64/fork.S b/sysdeps/unix/sysv/linux/ia64/fork.S index 33123a4e14..22f67c1ce8 100644 --- a/sysdeps/unix/sysv/linux/ia64/fork.S +++ b/sysdeps/unix/sysv/linux/ia64/fork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 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 @@ -38,4 +38,5 @@ ENTRY(__libc_fork) PSEUDO_END(__libc_fork) weak_alias (__libc_fork, __fork) +strong_alias (__fork, __GI___fork) weak_alias (__libc_fork, fork) diff --git a/sysdeps/unix/sysv/linux/ia64/vfork.S b/sysdeps/unix/sysv/linux/ia64/vfork.S index 2567c9937d..89d216f1b9 100644 --- a/sysdeps/unix/sysv/linux/ia64/vfork.S +++ b/sysdeps/unix/sysv/linux/ia64/vfork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 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 @@ -40,5 +40,6 @@ ENTRY(__vfork) (p6) br.cond.spnt.few __syscall_error ret PSEUDO_END(__vfork) +strong_alias (__vfork, __GI___vfork) weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/sysv/linux/m68k/vfork.S b/sysdeps/unix/sysv/linux/m68k/vfork.S index b77a7bd15f..8968caece7 100644 --- a/sysdeps/unix/sysv/linux/m68k/vfork.S +++ b/sysdeps/unix/sysv/linux/m68k/vfork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Schwab . @@ -62,5 +62,6 @@ ENTRY (__vfork) rts PSEUDO_END (__vfork) +strong_alias (__vfork, __GI___vfork) weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/sysv/linux/sh/vfork.S b/sysdeps/unix/sysv/linux/sh/vfork.S index fb0a3a96cb..92426892a3 100644 --- a/sysdeps/unix/sysv/linux/sh/vfork.S +++ b/sysdeps/unix/sysv/linux/sh/vfork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000, 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 @@ -107,7 +107,8 @@ ENTRY (__vfork) 1: rts nop - + PSEUDO_END (__vfork) +strong_alias (__vfork, __GI___vfork) weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/sysv/linux/sparc/fork.S b/sysdeps/unix/sysv/linux/sparc/fork.S index 870d9608c1..8d017398e1 100644 --- a/sysdeps/unix/sysv/linux/sparc/fork.S +++ b/sysdeps/unix/sysv/linux/sparc/fork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1999, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Miguel de Icaza , 1997. @@ -26,4 +26,5 @@ PSEUDO (__libc_fork, fork, 0) PSEUDO_END (__libc_fork) weak_alias (__libc_fork, __fork) +strong_alias (__fork, __GI___fork) weak_alias (__libc_fork, fork) diff --git a/sysdeps/unix/sysv/linux/sparc/vfork.S b/sysdeps/unix/sysv/linux/sparc/vfork.S index 2eae524c5b..c5753a363a 100644 --- a/sysdeps/unix/sysv/linux/sparc/vfork.S +++ b/sysdeps/unix/sysv/linux/sparc/vfork.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek , 1999. @@ -25,4 +25,5 @@ PSEUDO (__vfork, vfork, 0) and %o0, %o1, %o0 PSEUDO_END (__vfork) +strong_alias (__vfork, __GI___vfork) weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list index 5e11be0ea0..6a1b5415ad 100644 --- a/sysdeps/unix/sysv/linux/syscalls.list +++ b/sysdeps/unix/sysv/linux/syscalls.list @@ -12,7 +12,7 @@ epoll_ctl EXTRA epoll_ctl i:iiip epoll_ctl epoll_wait EXTRA epoll_wait i:ipii epoll_wait fdatasync - fdatasync i:i fdatasync flock - flock i:ii __flock flock -fork - fork i: __libc_fork __fork fork +fork - fork i: __libc_fork __fork fork __GI___fork get_kernel_syms EXTRA get_kernel_syms i:p get_kernel_syms getegid - getegid i: __getegid getegid geteuid - geteuid i: __geteuid geteuid diff --git a/sysdeps/unix/sysv/linux/x86_64/vfork.S b/sysdeps/unix/sysv/linux/x86_64/vfork.S index 3315df7253..fea24e4d98 100644 --- a/sysdeps/unix/sysv/linux/x86_64/vfork.S +++ b/sysdeps/unix/sysv/linux/x86_64/vfork.S @@ -46,5 +46,6 @@ ENTRY (__vfork) ret PSEUDO_END (__vfork) +strong_alias (__vfork, __GI___vfork) weak_alias (__vfork, vfork)