Commit Graph

258 Commits

Author SHA1 Message Date
Ulrich Drepper
011f9a85d2 Add #error if __NR_vfork required but not defined.
Improve test of error code.
2003-09-17 18:09:53 +00:00
Ulrich Drepper
170880ee26 Branch to fork if libpthread is loaded. Elide backwards compatibility code
when not required.
2003-09-17 18:07:04 +00:00
Ulrich Drepper
60f4eece70 Optimise code a little. 2003-09-14 19:54:53 +00:00
Ulrich Drepper
2c65912458 Use sys_mmap2 if it's known to be available. 2003-09-14 19:54:40 +00:00
Ulrich Drepper
49d7842ab5 Remove unused __syscall_* prototypes. 2003-09-03 03:21:27 +00:00
Ulrich Drepper
679ee4e361 (sysdep_routines): Remove rt_*. 2003-09-03 03:16:54 +00:00
Ulrich Drepper
b3c37d6c95 (__syscall_*): Remove unused __syscall_ stubs. 2003-09-03 03:16:40 +00:00
Ulrich Drepper
8ff5cf2c6f Add posix_fadvise64 and posix_fallocate64 at GLIBC_2.3.3. 2003-08-31 18:13:35 +00:00
Ulrich Drepper
ae53e7a785 (PSEUDO_ERRVAL): Define.
(PSEUDO_END_ERRVAL, ret_ERRVAL): Likewise.
2003-08-25 18:30:43 +00:00
Ulrich Drepper
ff46117d2f (PROCINFO_CLASS): Define if not yet defined. Use it instead of EXTERN.
Undefine at the end of the file.
2003-07-22 22:07:18 +00:00
Ulrich Drepper
1ca4471f97 New sequences for 5+ arg syscalls only needed for PIC. 2003-06-06 17:31:40 +00:00
Ulrich Drepper
97012650e2 (PSEUDO): Add missing ; after ENTRY use. 2003-04-03 19:32:34 +00:00
Roland McGrath
44acff5d04 2003-03-27 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO_RET_NOERRNO): Use
	unconditional mov.  Remove nop.
2003-03-27 02:45:49 +00:00
Roland McGrath
227de9dd23 2003-03-27 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_VFORK_SYSCALL): Define for kernel 2.4 on arm.
	* sysdeps/unix/sysv/linux/arm/vfork.S: Elide compatibility code
	when __ASSUME_VFORK_SYSCALL is defined.
	* sysdeps/unix/sysv/linux/arm/mmap64.S: Likewise for
	__ASSUME_MMAP2_SYSCALL.
	* sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise for
	__ASSUME_REALTIME_SIGNALS.
2003-03-27 02:45:46 +00:00
Roland McGrath
e0dc73c1e3 2003-03-24 Daniel Jacobowitz <drow@mvista.com>
* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
	(DOARGS_5, DOARGS_6, DOARGS_7): Rewritten.
2003-03-25 09:44:29 +00:00
Ulrich Drepper
cf666e4bf9 INTERNAL_SYSCALL): Remove a1 from clobber list. 2003-03-24 19:00:28 +00:00
Ulrich Drepper
98f7320f07 Define PSEUDO_NOERRNO, PSEUDO_END_NOERRNO, and ret_NOERRNO. 2003-03-23 19:42:23 +00:00
Roland McGrath
2f15520df9 2003-03-21 Daniel Jacobowitz <drow@mvista.com>
* sysdeps/unix/sysv/linux/arm/sysdep-cancel.h
	(SINGLE_THREAD_P_PIC): Use "reg" instead of "lr".
2003-03-21 20:49:58 +00:00
Ulrich Drepper
aca56a7fa5 Define MAP_POPULATE and MAP_NONBLOCK. 2003-03-03 09:58:55 +00:00
Ulrich Drepper
2b6aa9b399 (init_iosys): Yield ENODEV on unknown systems. 2003-02-20 22:22:35 +00:00
Ulrich Drepper
114e7d5005 (INLINE_SYSCALL): Add missing arguments to INTERNAL_SYSCALL_ERROR_P and
INTERNAL_SYSCALL_ERRNO.
2003-02-20 20:22:20 +00:00
Ulrich Drepper
0aced2c569 (__vfork): Conditionally branch to __fork even if __NR_vfork is not defined. 2003-01-15 01:06:06 +00:00
Ulrich Drepper
f5e2ab0edb vfork implementation for LinuxThreads/Arm. 2003-01-12 09:16:06 +00:00
Ulrich Drepper
e62ed29b3b (PSEUDO_RET): Correctly unstack lr.
(UNDOARGS_5): Fix ordering of pushes and pops.
(SINGLE_THREAD_P_PIC): New.
(SINGLE_THREAD_P_INT): Likewise.
(SINGLE_THREAD_P): Implement in terms of above.  Restore lr if it was stacked.
(PSEUDO): Use SINGLE_THREAD_P_INT.
2003-01-12 09:14:25 +00:00
Ulrich Drepper
191cbebf58 Add cancellation support. 2003-01-12 09:06:28 +00:00
Ulrich Drepper
aeeec7fb5e (INTERNAL_SYSCALL, INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO):
Add err argument.
(INTERNAL_SYSCALL_DECL): Define.
2003-01-09 04:09:26 +00:00
Ulrich Drepper
c05bc2ca7b (__socket): Use SYSCALL_ERROR in place of __syscall_error. 2003-01-08 00:15:33 +00:00
Ulrich Drepper
2f0910ca96 (PSEUDO): Remove .type directive.
(PSEUDO_RET): Use SYSCALL_ERROR in place of __syscall_error.
(SYSCALL_ERROR): New.
(SYSCALL_ERROR_HANDLER) [NOT_IN_libc]: Provide local copy of error
handling code.
(INTERNAL_SYSCALL): Define.
(INLINE_SYSCALL): Use it.
(INTERNAL_SYSCALL_ERROR_P, INTERNAL_SYSCALL_ERRNO): Define.
2003-01-08 00:15:07 +00:00
Ulrich Drepper
ddf42be0e2 Syscall cancellation handling for Arm. 2003-01-07 00:39:17 +00:00
Ulrich Drepper
eb22472e6f (__sigaction, sigaction): Protect weak_alias and libc_hidden_weak with
#ifndef LIBC_SIGACTION.
2003-01-03 00:42:10 +00:00
Ulrich Drepper
db16023193 Use libc_hidden_def(name) instead of strong_alias (name, __GI_name). 2002-12-31 20:37:32 +00:00
Ulrich Drepper
c505de0a40 Add __GI___vfork alias. 2002-12-31 11:10:33 +00:00
Ulrich Drepper
c025bbf609 Elide compatibility cruft when new enough kernel is assumed. 2002-12-21 18:37:16 +00:00
Ulrich Drepper
5b52ee1753 Small optimisation. 2002-12-21 18:36:55 +00:00
Roland McGrath
db8eb98510 2002-10-29 Jakub Jelinek <jakub@redhat.com>
* sysdeps/gnu/siglist.c (PTR_SIZE_STR): Remove.
	(__old_sys_siglist, __old_sys_sigabbrev): Use strong_alias and
	declare_symbol.
	* sysdeps/mach/hurd/siglist.h (OLD_SIGLIST_SIZE_STR): Remove.
	(OLD_SIGLIST_SIZE): Define.
	* sysdeps/unix/sysv/linux/siglist.h (OLD_SIGLIST_SIZE_STR): Remove.
	(OLD_SIGLIST_SIZE): Define.
	* sysdeps/unix/sysv/linux/arm/siglist.c: Remove.
2002-11-01 20:48:33 +00:00
Roland McGrath
ac33e75b3e 2002-10-15 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/bits/resource.h: Replaced with the contents
	of the sysdeps/unix/sysv/linux/i386/bits/resource.h file.
	All the following files were identical or equivalent to it.
	* sysdeps/unix/sysv/linux/i386/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/arm/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/cris/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/hppa/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/ia64/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/m68k/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/powerpc/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/s390/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/sh/bits/resource.h: File removed.
	* sysdeps/unix/sysv/linux/x86_64/bits/resource.h: File removed.
2002-10-16 01:02:24 +00:00
Ulrich Drepper
75380e2be2 (profil_counter): Add hack to prevent the compiler from clobbering the signal
context.
2002-10-14 17:26:14 +00:00
Roland McGrath
0a26934100 2002-10-13 Roland McGrath <roland@frob.com>
* posix/unistd.h [__USE_GNU] (getresuid, getresgid, setresuid,
	setresgid): Declare them.
	* NEWS: Mention it.
	* include/unistd.h
	(__getresuid, __getresgid, __setresuid, __setresgid): Declare them,
	add libc_hidden_proto.
	* posix/Versions (libc: GLIBC_2.3.2): New set.  Add
	getresuid, getresgid, setresuid, setresgid here.
	* Versions.def (libc): Define GLIBC_2.3.2 set.
	* sysdeps/generic/getresuid.c (__getresuid): Fix argument types.
	Add libc_hidden_def.
	* sysdeps/generic/getresgid.c (__getresgid): Likewise.
	* sysdeps/generic/setresgid.c: New file.
	* sysdeps/generic/setresuid.c: New file.
	* sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc]
	(sysdep_routines): Don't add getresuid and getresgid here.
	* sysdeps/unix/sysv/linux/arm/Makefile [$(subdir) = misc]
	(sysdep_routines): Don't add setresuid and setresgid here.
	* sysdeps/unix/sysv/linux/cris/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/sh/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
	* posix/Makefile (routines): Add them all here instead.
	* sysdeps/unix/sysv/linux/i386/getresuid.c (getresuid): Renamed to
	__getresuid.  Add libc_hidden_def for that, and weak alias to old name.
	* sysdeps/unix/sysv/linux/i386/getresgid.c (getresgid): Renamed to
	__getresgid.  Add libc_hidden_def for that, and weak alias to old name.
	* sysdeps/unix/sysv/linux/i386/setresuid.c: Add libc_hidden_def.
	[! __NR_setresuid]: Include generic file.
	* sysdeps/unix/sysv/linux/i386/setresgid.c (setresgid): Renamed to
	__setresgid.  Add libc_hidden_def for that, and weak alias to old name.
	[! __NR_setresuid]: Include generic file.
	* sysdeps/unix/sysv/linux/syscalls.list (setresuid, setresgid):
	Caller is - now, not EXTRA.
	* sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list
	(setresuid, setresgid, getresuid, getresgid): Likewise.
	* sysdeps/unix/sysv/linux/syscalls.list (getresuid, getresgid):
	Add these calls here.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove them here.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/Makefile [$(subdir) = misc]
	(sysdep_routines): Add setfsuid and setfsgid here.
	* sysdeps/unix/sysv/linux/arm/Makefile: Not here.
	* sysdeps/unix/sysv/linux/sparc/sparc32/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/cris/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/sh/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
	* sysdeps/unix/sysv/linux/m68k/Makefile: Likewise.
2002-10-14 01:02:53 +00:00
Roland McGrath
d030d52da2 2002-10-07 Roland McGrath <roland@redhat.com>
* sysdeps/generic/errno.c: New file.
	* csu/Makefile (aux): New variable, list errno.
	* sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns.
	* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise.
	* sysdeps/unix/alpha/sysdep.S: Likewise.
	* sysdeps/generic/start.c: Likewise.
	* sysdeps/unix/start.c: Likewise.
	* sysdeps/unix/arm/start.c: Likewise.
	* sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
	* sysdeps/unix/sparc/start.c: Likewise.
	* sysdeps/unix/sysv/irix4/start.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/sysdep.S: File removed.
2002-10-11 10:51:31 +00:00
Roland McGrath
c5947147ec 2002-09-18 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/sigaction.c (__libc_sigaction):
	Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/arm/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sigaction.c: Likewise.
2002-09-18 17:45:53 +00:00
Roland McGrath
0a59ce67bf 2002-08-26 Roland McGrath <roland@redhat.com>
* sysdeps/gnu/Versions: New file.
	* sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.1): Remove
	_sys_errlist; sys_errlist; _sys_nerr; sys_nerr; from here.
	* sysdeps/gnu/Makefile ($(..)sysdeps/gnu/errlist-compat.c): New target.
	($(objpfx)errlist.d): Depend on $(..)sysdeps/gnu/errlist-compat.c.
	* sysdeps/gnu/errlist.awk: Make output define _sys_errlist_internal
	and _sys_nerr_internal instead of anything else.  Make it include
	"errlist-compat.c" if [!NOT_IN_libc && !ERRLIST_NO_COMPAT].
	Make it emit some asm magic if [EMIT_ERR_MAX].
	* sysdeps/gnu/errlist.c: Regenerated.
	* sysdeps/gnu/errlist-compat.awk: New file.
	* sysdeps/gnu/errlist-compat.c: New file (generated).
	* sysdeps/mach/hurd/errlist.c (ERRLIST_NO_COMPAT): New macro.
	(_sys_errlist_internal): Define this as	a macro for _hurd_errlist.
	(_sys_nerr_internal): Define this is a macro for _hurd_nerr.
	(SYS_ERRLIST, SYS_NERR): Macros removed.
	(sys_nerr, _sys_nerr): Remove these weak aliases.
	* sysdeps/unix/sysv/linux/errlist.c: File removed.
	* sysdeps/unix/sysv/linux/errlist.h: File removed.
	* sysdeps/unix/sysv/linux/arm/errlist.c: File removed.
2002-08-27 09:22:36 +00:00
Roland McGrath
631d94cb30 2002-07-06 Bruno Haible <bruno@clisp.org>
* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/hppa/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/i386/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/sh/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (PSEUDO): Swap DO_CALL
	arguments.
	(DO_CALL): Swap argument order.
2002-08-26 11:37:24 +00:00
Andreas Jaeger
1077d52cfb Remove *xattr syscalls. 2002-08-23 09:29:00 +00:00
Andreas Jaeger
074a6e5efa Add *xattr syscalls with version 2.3. 2002-08-15 09:01:52 +00:00
Ulrich Drepper
9b4c30e300 Add _sys_siglist_internal alias. 2002-08-04 23:26:50 +00:00
Ulrich Drepper
da5f5f7986 Add libc_hidden_def. Remove undef and INTDEF. 2002-08-03 06:57:53 +00:00
Ulrich Drepper
31db6c4d74 (PUSHARGS_1): Use more efficient instruction.
(__socket): Optimize return sequence.
2002-07-24 17:36:44 +00:00
Ulrich Drepper
b24fa78c3b Remove extra weak alias definiton of _old_sys_nerr. Define _old_sys_errlist
as strong alias.
2002-07-24 11:17:01 +00:00
Ulrich Drepper
8310ff4225 [subdir=elf] (sysdep-rtld-routines, sysdep_routines, sysdep-dl-routines): Don't
define.
2002-07-15 02:07:17 +00:00
Ulrich Drepper
ef8af250ff (_DL_HWCAP_COUNT): Define as 8. 2002-04-03 06:55:14 +00:00