Commit Graph

138 Commits

Author SHA1 Message Date
David S. Miller
b4b2eb5eae Add some missing sparc kernel-feature.h entries.
* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_CLONE_THREAD_FLAGS): Set on sparc when 2.5.64 and later.
	(__ASSUME_TGKILL): Set on sparc when 2.6.1 and later, simplify
	expression.
	(__ASSUME_FADVISE64_64_SYSCALL): Set on sparc when 2.6.1 and
	later.
2012-03-12 15:51:15 -07:00
Paul Eggert
59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Ulrich Drepper
664f8cb9d5 More IA-64 removal 2012-01-07 12:55:20 -05:00
Ulrich Drepper
b13b98854e Remove IA-64 support from kernel-features.h 2012-01-07 12:23:45 -05:00
Ulrich Drepper
ef60624956 Prefer real syscalls instead of vsyscalls on x86-64 outside libc.so 2011-09-06 00:12:18 -04:00
Ulrich Drepper
f1f929d74a Add sendmmsg syscall 2011-05-28 01:43:20 -04:00
Ulrich Drepper
94b7cc3711 Fix a few problems in fopen and freopen
fopen should set the FD_CLOEXEC flag if requested evenif the kernel does
not support an aotmic operation.

freopen should reuse the file descriptor for the stream.  This is
especially important for calls to change the standard streams (stin,
stdout, stderr).
2011-05-15 15:28:46 -04:00
Ulrich Drepper
5bd6dc5c2c Use prlimit64 for 32-bit [gs]etrlimit64 implementation. 2010-12-25 20:12:27 -05:00
Ulrich Drepper
3cdaa6adb1 f_flags in Linux statfs implementation.
The 2.6.36 kernel provides an additional field in the statfs results.
Use this value in the statvfs emulation to avoid filling in f_flag
the hard way.
2010-08-11 14:07:28 -07:00
Andreas Schwab
3d04ff3a5d Implement recvmmsg also as socketcall 2010-05-21 12:11:28 -07:00
Ulrich Drepper
3155f06621 Remove unnecessary Alpha support. 2010-05-05 00:26:14 -07:00
Ulrich Drepper
463ed2f0be Fix comments and indentation. 2010-03-27 04:48:18 -07:00
Ulrich Drepper
81c84bd902 Fix F_GETOWN on some Linux archs.
The syscall conventions on some Linux archs prevented F_GETOWN from working
correctly in some situations.  This can be rectified when using the new
F_GETOWN_EX command.
2009-10-29 10:12:59 -07:00
Ulrich Drepper
aa7492d20e Compatibility of signalfd/eventfd with older kernels. 2009-07-26 12:55:03 -07:00
Ulrich Drepper
3533b1a6a6 Don't define __ASSUME_ACCEPT4 for IA-64. 2009-05-21 18:23:57 -07:00
Ulrich Drepper
4300afc169 * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_AT_RANDOM. 2009-05-09 06:54:31 +00:00
Ulrich Drepper
11cad88ce9 * sysdeps/unix/sysv/linux/kernel-features.h: All supported
architectures have preadv/pwritev in 2.6.30.
2009-04-18 02:37:43 +00:00
Ulrich Drepper
b8a3bd8256 * sysdeps/unix/sysv/linux/kernel-features.h: SH also has
preadv/pwritev.
2009-04-14 18:31:03 +00:00
Ulrich Drepper
28b2771a4b * sysdeps/unix/sysv/linux/kernel-features.h: SPARC and IA64 also
have preadv/pwritev in 2.6.30.
2009-04-09 18:52:57 +00:00
Ulrich Drepper
1a2ec17ba6 * sysdeps/unix/sysv/linux/kernel-features.h: Power also has
preadv/pwritev in 2.6.30.
2009-04-07 17:38:50 +00:00
Ulrich Drepper
e109c6124f * misc/Makefile (routines): Add preadv, preadv64, pwritev, pwritev64.
* misc/Versions: Export preadv, preadv64, pwritev, pwritev64 for
	GLIBC_2.10.
	* misc/sys/uio.h: Declare preadv, preadv64, pwritev, pwritev64.
	* sysdeps/unix/sysv/linux/kernel-features.h: Add entries for preadv
	and pwritev.
	* misc/preadv.c: New file.
	* misc/preadv64.c: New file.
	* misc/pwritev.c: New file.
	* misc/pwritev64.c: New file.
	* sysdeps/posx/preadv.c: New file.
	* sysdeps/posx/preadv64.c: New file.
	* sysdeps/posx/pwritev.c: New file.
	* sysdeps/posx/pwritev64.c: New file.
	* sysdeps/unix/sysv/linux/preadv.c: New file.
	* sysdeps/unix/sysv/linux/preadv64.c: New file.
	* sysdeps/unix/sysv/linux/pwritev.c: New file.
	* sysdeps/unix/sysv/linux/pwritev64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/preadv64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/pwritev64.c: New file.
2009-04-03 19:57:16 +00:00
Ulrich Drepper
2dbe6afe7c * sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_COMPLETE_READV_WRITEV.
	* sysdeps/unix/sysv/linux/readv.c: No need for userlevel fallback
	with modern kernels.
	* sysdeps/unix/sysv/linux/writev.c: Likewise.

	* sysdeps/posix/readv.c: Since read is a cancellation point we have
	to free a possible malloced buffer in case of cancellation.
	* sysdeps/posix/writev.c: Likewise for write.

c2009-04-01  Ulrich Drepper  <drepper@redhat.com>
2009-04-03 17:23:13 +00:00
Ulrich Drepper
7dd650d7fc * sysdeps/unix/sysv/linux/x86_64/lowlevellock.h: Define
FUTEX_CLOCK_REALTIME and FUTEX_BITSET_MATCH_ANY.
	* sysdeps/unix/sysv/linux/i386/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/lowlevellock.h: Likewise.
2009-01-03 03:45:07 +00:00
Ulrich Drepper
ebb2788e97 * sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_FUTEX_CLOCK_REALTIME): Define.
2009-01-03 01:52:29 +00:00
Ulrich Drepper
200da00a7c * resolv/res_send.c (send_dg): Use correct guards for SOCK_CLOEXEC
use.

	* sysdeps/unix/sysv/linux/kernel-features.h: Fix typo in accept4
	handling.
2008-12-08 04:08:51 +00:00
Ulrich Drepper
f93fc0b75a * socket/sys/socket.h: Declare accept4.
* socket/accept4.c: New file.
	* sysdeps/unix/sysv/linux/accept4.c: New file.
	* sysdeps/unix/sysv/linux/i386/accept4.S: New file.
	* socket/Makefile (routines): Add accept4.
	* socket/Versions: Export accept4 with version GLIBC_2.10.
	* socket/paccept.c: Removed.
	* sysdeps/unix/sysv/linux/paccept.c: Removed.
	* sysdeps/unix/sysv/linux/i386/paccept.S: Removed.
	* Versions.def: Define GLIBC_2.10 for libc.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_ACCEPT4.

	* nscd/connections.c: Use accept4.

	* sysdeps/unix/sysv/linux/i386/socket.S: Fix comment.
2008-12-03 04:23:18 +00:00
Ulrich Drepper
7e1b29c64a * sysdeps/unix/sysv/linux/kernel-features.h: s390 has the new
syscalls, too.
2008-08-01 21:51:11 +00:00
Ulrich Drepper
42fa1f67d4 * sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): We cannot
use the AT_EXECFN value if it is no absolute path.
	* sysdeps/unix/sysv/linux/kernel-features.h: Never define
	__ASSUME_AT_EXECFN.
2008-08-01 18:03:57 +00:00
Ulrich Drepper
46bc5d4393 * sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_O_CLOEXEC.
2008-07-31 20:12:34 +00:00
Ulrich Drepper
bd7f48571d * nscd/connections.c (nscd_init): Type if preprocessor directive.
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PACCEPT):
	Define.
2008-07-30 16:33:19 +00:00
Ulrich Drepper
d6e0c2a67d * sysdeps/unix/sysv/linux/syscalls.list: Add __pipe2 alias.
* io/pipe2.c: Likewise.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_PIPE2
	instead of __ASSUME_PACCEPT.
	* include/unistd.h: Declare __have_pipe2.
	* libio/iopopen.c: Implement "e" flag.
	* libio/Makefile (tests): Add tst-popen1.
	* libio/tst-popen1.c: New file.
2008-07-27 18:26:13 +00:00
Ulrich Drepper
bdd24a302e * sysdeps/unix/sysv/linux/kernel-features.h: IA-64 and SPARC have
the new syscalls, too.
2008-07-26 05:44:56 +00:00
Ulrich Drepper
b5c0b5e431 * sysdeps/unix/sysv/linux/kernel-features.h: IA-64 has the new
syscalls, too.
2008-07-26 05:41:16 +00:00
Ulrich Drepper
bb0277bff5 * sysdeps/unix/sysv/linux/kernel-features.h: PPC has the new
syscalls, too.
2008-07-25 21:03:16 +00:00
Ulrich Drepper
3ff2c948be * sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_PACCEPT, __ASSUME_IN_NONBLOCK, and __ASSUME_PACCEPT if
	appropriate.
	* nscd/connections.c: Avoid fcntl calls to set close-on-exec flag and
	non-blocking mode by using socket, paccept, and inotify_init1.
2008-07-25 05:30:10 +00:00
Ulrich Drepper
0e077a7eea * elf/elf.h: Define AT_EXECFN.
* elf/rtld.c [!__ASSUME_AT_EXECFN] (process_envvars): Don't handle
	LD_ORIGIN_PATH.
	* elf/dl-sysdep.c (_dl_sysdep_start): Handle AT_EXECFN.
	* elf/dl-support.c: Define _dl_execfn.  Don't define _dl_origin_path
	if __ASSUME_AT_EXECFN is defined.
	(_dl_aux_init): Handle AT_EXECFN.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_AT_EXECFN
	for 2.6.27 and up.
	* sysdeps/generic/ldsodefs.h (rtld_global_ro): Add _dl_execfn.
	Don't define _dl_origin_path if __ASSUME_AT_EXECFN is defined.
	* sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Use
	_dl_execfn if available and avoid compatibility code if
	__ASSUME_AT_EXECFN is defined.
2008-07-24 18:33:44 +00:00
Ulrich Drepper
ae18718f58 * sysdeps/unix/sysv/linux/adjtime.c: Use ADJ_OFFSET_SS_READ if
possible.
	* sysdeps/unix/sysv/linux/kernel-features.h
	(__ASSUME_ADJ_OFFSET_SS_READ): Define for 2.6.24.
	* sysdeps/unix/sysv/linux/sys/timex.h (ADJ_OFFSET_SS_READ): Define.
2007-12-10 23:51:42 +00:00
Ulrich Drepper
22502ea2a7 * sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_PSELECT,
__ASSUME_PPOLL, __ASSUME_ATFCTS, __ASSUME_SET_ROBUST_LIST,
	__ASSUME_UTIMENSAT, __ASSUME_FALLOCATE): Update per-arch conditions
	when each feature was introduced.

	* sysdeps/unix/sysv/linux/dl-vdso.c: Don't include dl-hash.h.
	* sysdeps/unix/sysv/linux/dl-vdso.h: Don't include dl-hash.h if NDEBUG.
	(CHECK_HASH): New macro.
	(PREPARE_VERSION): Use it.

	* sysdeps/unix/sysv/linux/pselect.c (__generic_pselect): Only provide
	prototype if not __ASSUME_PSELECT.
	* sysdeps/unix/sysv/linux/ppoll.c (__generic_ppoll): Only provide
	prototype if not __ASSUME_PPOLL.

	* sysdeps/unix/sysv/linux/dl-osinfo.h (ROUND): #undef after use.

	* sysdeps/unix/clock_settime.c (freq, __pthread_clock_settime,
	hp_timing_settime): Don't define or declare if HANDLED_CPUTIME
	is defined.
2007-08-14 03:21:23 +00:00
Ulrich Drepper
c1bf9f14ab * io/Makefile (tests): Add tst-posix_fallocate.
* io/tst-posix_fallocate.c: New file.

	* sysdeps/unix/sysv/linux/kernel-features.h: Define
	__ASSUME_FALLOCATE.
2007-07-23 18:09:13 +00:00
Ulrich Drepper
4f099bb543 (__ASSUME_PRIVATE_FUTEX): Define for kernel >= 2.6.22. 2007-05-19 19:07:59 +00:00
Ulrich Drepper
c27d207813 * sysdeps/unix/sysv/linux/powerpc/bits/stat.h: Define UTIME_NOW and
UTIME_OMIT.
	* sysdeps/unix/sysv/linux/x86_64/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/alpha/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/bits/stat.h: Likewise.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_UTIMENSAT.
	* io/sys/stat.h: Declare utimensat, futimens.
	* io/utimensat.c: New file.
	* io/futimens.c: New file.
	* sysdeps/unix/sysv/linux/utimensat.c: New file.
	* sysdeps/unix/sysv/linux/futimens.c: New file.
	* io/Makefile (routines): Add utimensat, futimens.
	* io/Versions: Add utimensat, futimens to GLIBC_2.6.
	* sysdeps/unix/sysv/linux/lutimes.c: New file.
	* sysdeps/unix/sysv/linux/futimes.c: Use utimensat syscall if
	available.

	* include/sys/cdefs.h: Redefine __nonnull so that test for
	incorrect parameters in the libc code itself are not omitted.
2007-05-10 21:44:41 +00:00
Ulrich Drepper
d5ba53f907 * sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_FUTEX_LOCK_PI.
	* include/time.h: Declare __nanosleep_nocancel.
	* include/unistd.h: Declare __pause_nocancel.
2006-07-29 05:07:43 +00:00
Ulrich Drepper
f9d07577ce * sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_PROC_SELF_FD_SYMLINK.
	* sysdeps/unix/sysv/linux/ttyname.c: Cleanups.  Avoid compatibility
	code is possible.  Move compatibility code in .text.compat section.
	* sysdeps/unix/sysv/linux/ttyname_r.c: Likewise.
2006-04-19 07:27:58 +00:00
Ulrich Drepper
cd277b2d03 * sysdeps/unix/sysv/linux/kernel-features.h: Remove support for
architectures which moved to ports.
2006-03-28 04:31:31 +00:00
Ulrich Drepper
0f6699ea05 * sysdeps/unix/sysv/linux/kernel-features.h: Add
__ASSUME_SET_ROBUST_LIST.
2006-03-28 04:25:17 +00:00
Roland McGrath
f378d6793f 2004-12-09 Randolph Chung <tausq@debian.org>
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_UTIMES): Don't
	define for hppa, which doesn't support this syscall.
2006-03-16 10:56:48 +00:00
Roland McGrath
76ecf81ebf * sysdeps/unix/sysv/linux/kernel-features.h
(__ASSUME_CLONE_THREAD_FLAGS): Consolidate definitions.

2006-02-03  Jakub Jelinek  <jakub@redhat.com>

	* manual/filesys.texi (futimes): Fix prototype.
2006-02-22 07:28:05 +00:00
Roland McGrath
0d5cb2c74f [BZ #2329]
2006-02-20  Roland McGrath  <roland@redhat.com>
	* sysdeps/mips: Directory removed, saved in ports repository.
	* sysdeps/unix/mips: Likewise.
	* sysdeps/unix/sysv/linux/mips: Likewise.
	* sysdeps/mach/mips: Likewise.
	* sysdeps/mach/hurd/mips: Likewise.
	* shlib-versions: Remove mips matches, now in ports fragment.
	* sysdeps/unix/sysv/linux/kernel-features.h: Likewise.
	* configure.in (machine): Likewise.
	* configure: Regenerated.
2006-02-15  Thomas Schwinge  <tschwinge@gnu.org>

	[BZ #2329]
	* include/unistd.h (__getresuid, __getresgid, __setresuid)
	(__setresgid): Fix argument name order in prototypes.
	* posix/unistd.h (getresuid, getresgid, setresuid, setresgid):
	Likewise.
	* posix/getresuid.c (__getresuid): Fix argument order in definition.
	* posix/getresgid.c (__getresgid): Likewise.
	* posix/setresuid.c (__setresuid): Likewise.
	* posix/setresgid.c (__setresgid): Likewise.
	* sysdeps/mach/hurd/getresuid.c (__getresuid): Likewise.
	* sysdeps/mach/hurd/getresgid.c (__getresgid): Likewise.
	* sysdeps/mach/hurd/setresuid.c (__setresuid): Likewise.
	* sysdeps/mach/hurd/setresgid.c (__setresgid): Likewise.
	Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
2006-02-21 02:30:10 +00:00
Ulrich Drepper
7c65e9001b * include/fcntl.h: Declare __have_atfcts.
* sysdeps/unix/sysv/linux/faccessat.c: Use syscall if available.
	* sysdeps/unix/sysv/linux/fchmodat.c: Likewise.
	* sysdeps/unix/sysv/linux/fchownat.c: Likewise.
	* sysdeps/unix/sysv/linux/futimesat.c: Likewise.
	* sysdeps/unix/sysv/linux/linkat.c: Likewise.
	* sysdeps/unix/sysv/linux/mkdirat.c: Likewise.
	* sysdeps/unix/sysv/linux/openat.c: Likewise.
	* sysdeps/unix/sysv/linux/readlinkat.c: Likewise.
	* sysdeps/unix/sysv/linux/renameat.c: Likewise.
	* sysdeps/unix/sysv/linux/symlinkat.c: Likewise.
	* sysdeps/unix/sysv/linux/unlinkat.c: Likewise.
	* sysdeps/unix/sysv/linux/xmknodat.c: Likewise.
	* sysdeps/unix/sysv/linux/wordsize-64/fxstatat.c: Likewise.
	* sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_PSELECT,
	__ASSUME_PPOLL, and __ASSUME_ATFCTS if possible.

	* io/ppoll.c: New file.
	* io/Makefile (routines): Add ppoll.
	(CFLAGS-ppoll.c): Define.
	* io/Versions: Export ppoll for GLIBC_2.4.
	* io/sys/poll.h: Declare ppoll.
	* sysdeps/unix/sysv/linux/ppoll.c: New file.

	* misc/pselect.c: Make it possible to include this file to define
	the generic code as a static function.
	* sysdeps/unix/sysv/linux/pselect.c: New file.
2006-01-20 07:08:05 +00:00
Ulrich Drepper
2d79a585c1 * sysdeps/unix/sysv/linux/kernel-features.h: Define
__ASSUME_TMPFS_NAME.
	* sysdeps/unix/sysv/linux/shm_open.c [!__ASSUME_TMPFS_NAME]
	(where_is_shmfs): Don't test for obsolete shm filesystem name.

	* sysdeps/unix/sysv/linux/getsysstats.c: Don't search for proc
	mount point.  We assume procfs is mounted at /proc in many other
	places already.
2006-01-16 16:49:27 +00:00