Commit Graph

191 Commits

Author SHA1 Message Date
Roland McGrath
e0db65176f Clean up __exit_thread. 2014-05-13 09:49:20 -07:00
Roland McGrath
fe6588457a Move rules for Linux-specific pldd program to Linux-specific Makefile. 2014-05-05 13:16:08 -07:00
Roland McGrath
7d375303f2 Add comments about non-Linux use of bits/mman-linux.h. 2014-03-18 14:58:15 -07:00
Mike Frysinger
ac44401205 tst-fanotify: new simple test
Basic test for the fanotify functions.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-09-02 23:22:23 -04:00
Roland McGrath
6fcf28b352 Clean up __libc_sa_len helper. 2013-08-27 10:34:16 -07:00
Carlos O'Donell
d7e06450b9 BZ #15711: Avoid circular dependency for syscall.h
The generated header is compiled with `-ffreestanding' to avoid any
circular dependencies against the installed implementation headers.
Such a dependency would require the implementation header to be
installed before the generated header could be built (See bug 15711).
In current practice the generated header dependencies do not include
any of the implementation headers removed by the use of `-ffreestanding'.

---

2013-07-15  Carlos O'Donell  <carlos@redhat.com>

	[BZ #15711]
	* sysdeps/unix/sysv/linux/Makefile ($(objpfx)bits/syscall%h):
	Avoid system header dependency with -ffreestanding.
	($(objpfx)bits/syscall%d): Likewise.
2013-07-16 17:55:43 -04:00
Roland McGrath
cc0e6ed81f Consolidate definitions of _FORTIFY_SOURCE wrappers for open{,64}{,at}. 2013-05-03 16:33:26 -07:00
Andreas Jaeger
4dd4e15794 Install <bits/mman-linux.h>
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
	bits/mman-linux.h.
2013-03-07 13:06:20 +01:00
Thomas Schwinge
123be9deda Add recvmmsg and sendmmsg to the generic glibc API. 2012-11-20 19:26:04 +01:00
Andreas Jaeger
1728f92d42 Install <bits/fcntl-linux.h>
(sysdep_headers): Add bits/fcntl-linux.h.
2012-10-22 09:24:14 +02:00
Markus Trippelsdorf
507352f1a1 Add bits/sysctl.h to sysdep_headers 2012-05-31 16:16:23 -07:00
H.J. Lu
0ab0291b84 Convert WORDSIZE[32|64]/ld entries to abi-variants 2012-05-30 08:33:26 -07:00
H.J. Lu
cb191f2300 Remove $(sysctl) from sysdep_routines 2012-05-22 13:58:43 -07:00
H.J. Lu
c900932878 Add sysctl.mk and bits/sysctl.h 2012-05-22 13:46:29 -07:00
Joseph Myers
bd951ccbe8 Install bits/syscall.h through install-headers. 2012-03-14 20:09:44 +00:00
Joseph Myers
02a6f887cb Split enum __socket_type from bits/socket.h to bits/socket_type.h. 2012-03-09 22:36:06 +00:00
Joseph Myers
599af3ca61 Split architecture-specific parts of sys/epoll.h into bits/epoll.h. 2012-02-21 00:32:30 +00:00
Joseph Myers
0e4997508d Split architecture-specific parts of sys/timerfd.h into bits/timerfd.h. 2012-02-21 00:29:13 +00:00
Joseph Myers
8e475601f6 Split architecture-specific parts of sys/signalfd.h into bits/signalfd.h. 2012-02-15 20:11:20 +00:00
Joseph Myers
2a979d3a14 Split architecture-specific parts of sys/inotify.h into bits/inotify.h. 2012-02-14 00:13:47 +00:00
Joseph Myers
2a418ac326 Split architecture-specific parts of sys/eventfd.h into bits/eventfd.h. 2012-02-13 20:27:59 +00:00
Joseph Myers
154bfc1622 Support building bits/syscall.h for any number of subarch variants. 2011-12-22 18:22:50 +00:00
Ulrich Drepper
3a2c02424d Cache network interface information
Whenever getaddrinfo needed network interface information it used the
netlink interface to read the information every single time.  The
problem is that this information can change at any time.

The patch implements monitoring of the network interfaces through
nscd.  If no change is detected the previously read information can
be reused (which is the norm).  This timestamp information is also
made available to other processes using the shared memory segment
between nscd and those processes.
2011-10-31 01:51:16 -04:00
David S. Miller
c27714f111 Fix tst-writev on non-4K page size 2011-08-17 21:51:21 -04:00
Ulrich Drepper
319b9ad4bc Generalize framework to register monitoring of files in nscd
nscd can clear caches when certain files change.  The list of files
was hardcoded so far and worked for nss_files and nss_dns and those
modules which need no monitoring.  nss_db, for instance, has its
own set of files to monitor.  Now the NSS modules themselves can
request that certain files are monitored.
2011-07-11 14:50:24 -04:00
Ulrich Drepper
4902da17c8 Add missing HAVE_SENDFILE definition 2011-06-27 12:29:04 -04:00
Ulrich Drepper
d5495a116c Work around limit in writev in 2.6.38+ kernels 2011-06-24 14:59:17 -04:00
Ulrich Drepper
f1f929d74a Add sendmmsg syscall 2011-05-28 01:43:20 -04:00
Ulrich Drepper
6fb2dde3f1 Make complete getcwd work in rtld 2011-05-08 14:53:20 -04:00
Ulrich Drepper
7fb90fb89b Fix Linux getcwd for long paths
The getcwd syscall (so far?) can only handle path up to one page
in size.  There is no limit about directory hierarchy depth, though,
and the POSIX getcwd is supposed to handle this.  In that case fall
back to the generic getcwd.

Additionally, optimize the generic getcwd to use openat when possible
to change the asymptotic performance from O(N^2) to O(n).
2011-05-08 08:37:19 -04:00
Andreas Schwab
6e63d5e1ae Install bits/timex.h header. 2011-04-01 10:40:53 -04:00
Ulrich Drepper
10b3bedcb0 Add support for Linux fanotify_init and fanotify_mask syscalls. 2010-08-11 12:41:48 -07:00
Ulrich Drepper
c08fb0d7bb Add support for prlimit and prlimit64 on Linux. 2010-08-11 11:18:52 -07:00
Andreas Schwab
3d04ff3a5d Implement recvmmsg also as socketcall 2010-05-21 12:11:28 -07:00
Ulrich Drepper
eb4157390c Update ntp_gettime for Linux.
The ntp_gettime implementation of NTP exports the tai field the kernel
now produces.  This requires an ABI change since the ntptimeval structure
changed.  Upstream kept the same name, there is nothing to do.  This
patch changes the ntptimeval structure but keeps the old ntp_gettime
definition.  A new ntp_gettimex function which is transparently invoked
through the old name is introduced.  This has the advantage that even
object files can remain compatible.  This wouldn't be the case if
symbol versioning would be used to overload the name ntp_gettime.
2009-11-22 11:07:04 -08:00
Jakub Jelinek
1e1dc4e82d Implement accept4 for more archs using socketcall.
So far accept4 was only supported on archs using socketcall for x86.
This patch adds support for the remaining archs.
2009-05-22 08:25:34 -07:00
Ulrich Drepper
749f5cc968 * sysdeps/unix/sysv/linux/fallocate.c: New file.
* sysdeps/unix/sysv/linux/fallocate64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/fallocate64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/fallocate.c: New file.
	* sysdeps/unix/sysv/linux/i386/fallocate64.c: New file.
	* sysdeps/unix/sysv/linux/i386/fallocate.c: New file.
	* sysdeps/unix/sysv/linux/Versions: Export fallocate and fallocate64
	for GLIBC_2.10.
	* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
	Add fallocate and fallocate64.

	* io/fcntl.h: Pretty printing.
2009-03-02 16:15:58 +00:00
Ulrich Drepper
5228ba2fe8 * nscd/nscd.h (struct database_dyn): Add inotify_descr and clear_cache
fields.
	* nscd/connections.c (inotify_fd): New variable.
	(nscd_init): Try to open an inotify descriptor.
	If successful, watch files for databases using inotify instead of
	having prune threads stat the files.
	(nscd_run_prune): Recognize clear_cache flag being set and call
	prune_cache appropriately.
	(main_loop_poll): Add inotify descriptor to wait set and handle the
	reported changes.
	(main_loop_epoll): Likewise.
	* nscd/cache.c (prune_cache): Don't stat files for databases if
	inotify is used.
	* sysdeps/unix/sysv/linux/Makefile [subdir=nscd]
	(CFLAGS-connections.c): Add -DHAVE_INOTIFY.
2008-06-12 22:40:27 +00:00
Ulrich Drepper
2e3e9ff16c * sysdeps/unix/sysv/linux/sys/timerfd.h: New file.
* sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers): Add
	sys/timerfd.h.
	* sysdeps/unix/sysv/linux/syscalls.list: Add timerfd_create,
	timerfd_gettime, timerfd_settime.
	* sysdeps/unix/sysv/linux/Versions: Add timerfd_create,
	timerfd_gettime, timerfd_settime for GLIBC_2.8.
2008-02-10 19:43:56 +00:00
Ulrich Drepper
ea2c47b6be * sysdeps/unix/sysv/linux/Makefile [subdir=inet] (sysdep_headers):
Add netiucv/iucv.h.
	* sysdeps/unix/sysv/linux/netiucv/iucv.h: New file.
	* sysdeps/unix/sysv/linux/opensock.c (__opensock): Add AF_IUCV
	protocol.
	* sysdeps/unix/sysv/linux/sa_len.c (__libc_sa_len): Likewise.
	* sysdeps/unix/sysv/linux/s390/opensock.c: New file.
	* sysdeps/unix/sysv/linux/s390/sa_len.c: New file.
2007-11-23 15:19:41 +00:00
Ulrich Drepper
238346abad * sysdeps/unix/sysv/linux/Makefile [subdir=misc] (sysdep_headers):
Add sys/signalfd.h and sys/eventfd.h.
2007-11-17 08:49:48 +00:00
Ulrich Drepper
7f745396c4 * sysdeps/unix/sysv/linux/open64.c: Move __open64_2 implementation to..
* sysdeps/unix/sysv/linux/open64_2.c: ...here.  New file.
	* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines): Add
	open64_2.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Add open and creat
	entries.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
	* sysdeps/wordsize-64/alphasort.c: New file.
	* sysdeps/wordsize-64/alphasort64.c: New file.
	* sysdeps/wordsize-64/fseeko.c: New file.
	* sysdeps/wordsize-64/fseeko64.c: New file.
	* sysdeps/wordsize-64/ftello.c: New file.
	* sysdeps/wordsize-64/ftello64.c: New file.
	* sysdeps/wordsize-64/ftw.c: New file.
	* sysdeps/wordsize-64/ftw64.c: New file.
	* sysdeps/wordsize-64/iofgetpos.c: New file.
	* sysdeps/wordsize-64/iofgetpos64.c: New file.
	* sysdeps/wordsize-64/iofopen.c: New file.
	* sysdeps/wordsize-64/iofopen64.c: New file.
	* sysdeps/wordsize-64/iofsetpos.c: New file.
	* sysdeps/wordsize-64/iofsetpos64.c: New file.
	* sysdeps/wordsize-64/lockf.c: New file.
	* sysdeps/wordsize-64/lockf64.c: New file.
	* sysdeps/wordsize-64/mkostemp.c: New file.
	* sysdeps/wordsize-64/mkostemp64.c: New file.
	* sysdeps/wordsize-64/mkstemp.c: New file.
	* sysdeps/wordsize-64/mkstemp64.c: New file.
	* sysdeps/wordsize-64/scandir.c: New file.
	* sysdeps/wordsize-64/scandir64.c: New file.
	* sysdeps/wordsize-64/tmpfile.c: New file.
	* sysdeps/wordsize-64/tmpfile64.c: New file.
	* sysdeps/wordsize-64/versionsort.c: New file.
	* sysdeps/wordsize-64/versionsort64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/aio_read.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/aio_read64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/aio_write.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/aio_write64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/creat64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/getdirentries.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/getdirentries64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/lio_listio.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/lio_listio64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/open64.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/openat.c: New file.
	* sysdeps/unix/sysv/linux/wordsize-64/openat64.c: New file.

	* crypt/sha256-crypt.c: Fix a comment.
	* crypt/sha512-crypt.c: Likewise.
2007-11-10 19:36:06 +00:00
Ulrich Drepper
6789aaaa97 2007-10-04 Jakub Jelinek <jakub@redhat.com>
2007-10-03  Jakub Jelinek  <jakub@redhat.com>
2007-10-05 20:32:30 +00:00
Ulrich Drepper
34c2c09296 * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add signalfd.
* sysdeps/unix/sysv/linux/signalfd.c: New file.
	* sysdeps/unix/sysv/linux/sys/signalfd.h: New file.
	* sysdeps/unix/sysv/linux/Versions: Export signalfd for GLIBC_2.7.
2007-10-05 16:31:37 +00:00
Ulrich Drepper
ddfd053577 * Makerules (sysd-rules): Define PTW for ptw-* files.
* Versions: Define GLIBC_2.7 for libc.
	* include/stdio.h: Declare __fortify_fail.
	* debug/fortify_fail.c: New file.
	* debug/Makefile (routines): Add fortify_fail.
	* debug/chk_fail.c: Use __fortify_fail.
	* debug/stack_chk_fail.c: Likewise.
	* io/Versions: Export __open_2, __open64_2, __openat_2, and
	__openat64_2 for GLIBC_2.7.
	* io/fcntl.h: When compiling with fortification, include bits/fcntl2.h.
	* io/open.c: Define *_2 variant of function which checks for O_CREAT
	and fails if necessary.
	* io/open64.c: Likewise.
	* io/openat.c: Likewise.
	* io/openat64.c: Likewise.
	* sysdeps/unix/sysv/linux/open64.c: Likewise.
	* sysdeps/unix/sysv/linux/openat.c: Likewise.
	* sysdeps/unix/sysv/linux/openat64.c: Likewise.
	* io/bits/fcntl2.h: New file.
	* include/fcntl.h: Declare __open_2, __open64_2, __openat_2, and
	__openat64_2.
	* include/bits/fcntl2.h: New file.
	* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
	Add open_2.
	* sysdeps/unix/sysv/linux/open_2.c: New file.
2007-05-24 23:55:28 +00:00
Ulrich Drepper
af269dd954 [BZ #4514]
* stdio-common/vfprintf.c (vfprintf): Don't shadow workstart variable,
	reinitialize workend at the start of each do_positional format spec
	loop, free workstart before do_positional loops.
	(printf_unknown): Fix size of work_buffer.
	* stdio-common/tst-sprintf.c (main): Add 3 new testcases.
2007-05-21 18:23:50 +00:00
Ulrich Drepper
341c566f05 * sysdeps/unix/sysv/linux/tst-getcpu.c: New file.
* sysdeps/unix/sysv/linux/Makefile [subdir=posix] (tests): Add
	tst-getcpu.

	* include/link.h: Move l_version and l_nversion members around to
	fill gaps.
2007-05-11 06:39:07 +00:00
Ulrich Drepper
bce20b9a86 * sysdeps/unix/sysv/linux/Makefile [subdir=posix] (sysdep_routines):
Add sched_getcpu.
2007-04-26 04:59:42 +00:00
Ulrich Drepper
4e87573fe2 * sysdeps/unix/sysv/linux/Versions: Move sync_file_range to
GLIBC_2.6.
	* sysdeps/unix/sysv/linux/Makefile [subdir=io] (sysdep_routines):
	Add sync_file_range.
	Reported by Atsushi Nemoto <anemo@mba.ocn.ne.jp>.
2007-03-26 20:38:57 +00:00
Ulrich Drepper
38027f90d4 [BZ #2386]
* sysdeps/unix/sysv/linux/ia64/clone2.S: Check for NULL stakc
	pointers to match other architectures.
	* sysdeps/unix/sysv/linux/Makefile [subdirs=misc] (tests): Add
	tst-clone.
	* sysdeps/unix/sysv/linux/tst-clone.c: New file.

	malloc'ed wbuffer which isn't freed in error conditions.
2006-04-25 19:14:45 +00:00