Commit Graph

557 Commits

Author SHA1 Message Date
Samuel Thibault
e8ef51b171 hurd: Silence warning
* hurd/hurdsig.c (interrupted_reply_port_location): Use
	DIAG_IGNORE_NEEDS_COMMENT to silence warning with GCC 6 and before.
2018-04-04 02:06:16 +02:00
Samuel Thibault
5e17a480f8 Revert parts of "hurd: Avoid more libc.so local PLTs"
This reverts parts of commit 82dbf555a4.
2018-04-03 23:06:00 +02:00
Samuel Thibault
82dbf555a4 hurd: Avoid more libc.so local PLTs
* hurd/catch-signal.c (__hurd_catch_signal): Call __libc_siglongjmp
	instead if siglongjmp.
	(hurd_safe_memmove): Call __libc_longjmp instead of longjmp.
	* hurd/hurdfault.c (faulted): Call __libc_longjmp instead of longjmp.
	* include/setjmp.h (__libc_siglongjmp, __libc_longjmp): New hidden
	prototypes.
	* libio/iolibio.h (_IO_puts): New hidden prototype.
	* libio/ioputs.c (_IO_puts): New hidden def.
	* setjmp/longjmp.c (__libc_longjmp, __libc_siglongjmp): New hidden
	defs.
	* sysdeps/mach/hurd/sigwait.c (__sigwait): Call __libc_longjmp instead
	of longjmp.
2018-04-03 00:36:33 +00:00
Samuel Thibault
a758c29399 hurd: Avoid more libc.so PLTs
* sysdeps/hurd/include/hurd/signal.h (_hurd_raise_signal): Add hidden
	prototype.
	* hurd/hurd-raise.c (_hurd_raise_signal): Add hidden def.
	* hurd/Makefile ($(inlines:%=$(objpfx)%.c): Define
	_HEADER_H_HIDDEN_DEF macro.
	* sysdeps/hurd/include/hurd/fd.h (_hurd_fd_error,
	_hurd_fd_error_signal): Add hidden prototype.
	[_HURD_FD_H_HIDDEN_DEF] (_hurd_fd_error, _hurd_fd_error_signal): Add
	hidden def.
2018-04-02 23:40:26 +00:00
Samuel Thibault
7a8f45e302 hurd: Avoid some libc.so PLTs
* hurd/catch-signal.c (hurd_catch_signal): Rename to
	__hurd_catch_signal.
	(hurd_catch_signal): New strong alias.
	(hurd_safe_memset, hurd_safe_copyout, hurd_safe_copyin): Call
	__hurd_catch_signal instead of hurd_catch_signal.
	* hurd/exc2signal.c (_hurd_exception2signal): Add hidden def.
	* hurd/hurdexec.c (_hurd_init): Add hidden def.
	* hurd/hurdinit.c (_hurd_init): Add hidden def.
	* hurd/hurdsig.c: Include <mach/mig_support.h>.
	(_hurd_thread_sigstate): Add hidden def.
	(_hurd_internal_post_signal): Use __mutex_unlock instead of
	mutex_unlock.
	* hurd/intern-fd.c (_hurd_intern_fd): Add hidden def.
	* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Add hidden def.
	* hurd/path-lookup.c (hurd_file_name_path_lookup): Rename to
	__hurd_file_name_path_lookup.
	(hurd_file_name_path_lookup): New strong alias.
	(file_name_path_lookup): Call __hurd_file_name_path_lookup instead of
	hurd_file_name_path_lookup.
	* mach/errstring.c (mach_error_type): Add hidden def.
	* mach/msg-destroy.c (__mach_msg_destroy): Add hidden def.
	* mach/mutex-init.c (__mutex_init): Add hidden def.
	* mach/spin-lock.c (__spin_lock_locked, __spin_lock, __spin_unlock,
	__spin_try_lock, __mutex_lock, __mutex_trylock): Add hidden defs.
	* mach/spin-solid.c (__spin_lock_solid): Add hidden def.
	* sysdeps/mach/hurd/getcwd.c
	(_hurd_canonicalize_directory_name_internal): Rename to
	__hurd_canonicalize_directory_name_internal.
	(_hurd_canonicalize_directory_name_internal): New strong alias.
	(__canonicalize_directory_name_internal, __getcwd): Call
	__hurd_canonicalize_directory_name_internal instead of
	_hurd_canonicalize_directory_name_internal.
	* sysdeps/mach/hurd/mig-reply.c: Include <mach/mig_support.h>.
	(__mig_get_reply_port, __mig_dealloc_reply_port, __mig_init): Add
	hidden defs.
	* sysdeps/hurd/include/hurd.h: New file.
	* sysdeps/hurd/include/hurd/fd.h: New file.
	* sysdeps/hurd/include/hurd/signal.h: New file.
	* sysdeps/mach/include/lock-intern.h: New file.
	* sysdeps/mach/include/mach.h: New file.
	* sysdeps/mach/include/mach/mig_support.h: New file.
	* sysdeps/mach/include/mach_error.h: New file.
2018-04-02 22:08:55 +00:00
Samuel Thibault
dba2bdbe75 hurd: Avoid some PLTs in libc and librt
* hurd/hurdauth.c (_S_msg_add_auth): Call __vm_allocate and
	__vm_deallocate instead of vm_allocate and vm_deallocate.
	* hurd/hurdmsg.c (_S_msg_set_env_variable): Call __setenv instead of
	setenv.
	* hurd/hurdprio.c (_hurd_priority_which_map): Call __geteuid instead
	of geteuid.
	* hurd/path-lookup.c (file_name_path_scan): Call __strdup instead of
	strdup.
	* hurd/siginfo.c: Include <libioP.h>.
	(_hurd_siginfo_handler): Call _IO_puts instead of puts.
	* hurd/xattr.c (_hurd_xattr_get, _hurd_xattr_set): Call __munmap instead of
	munmap.
	* io/fts.c (fts_build): Call __dirfd instead of dirfd.
	* mach/devstream.c: Include <libioP.h>.
	(dealloc_ref): Call __mach_port_deallocate instead of
	mach_port_deallocate.
	(mach_open_devstream): Call _IO_fopencookie instead of fopencookie.
	Call __mach_port_deallocate instead of mach_port_deallocate.
	* stdlib/canonicalize.c (__realpath): Call __pathconf instead of
	pathconf.
	* sysdeps/mach/hurd/ifreq.c (__ifreq): Call __munmap instead of
	munmap.
	* sysdeps/mach/hurd/ifreq.h (__if_freereq): Likewise.
	* sysdeps/mach/hurd/ptrace.c (ptrace): Call __kill instead of kill.
	* sysdeps/mach/hurd/sendfile64.c (sendfile64): Call __munmap instead
	of munmap.
	* sysdeps/mach/hurd/socketpair.c (__socketpair): Call __close instead
	of close.
	* sysdeps/posix/clock_getres.c (realtime_getres): Call __sysconf
	instead of sysconf.
	* sysdeps/pthread/timer_gettime.c (timer_gettime): Call
	__clock_gettime instead of clock_gettime.
	* sysdeps/pthread/timer_routines.c (thread_func): Likewise.
	* sysdeps/pthread/timer_settime.c (timer_settime): Likewise.
	* sysdeps/unix/bsd/gtty.c (gtty): Call __ioctl instead of ioctl.
	* sysdeps/unix/bsd/stty.c (stty): Likewise.
	* sysdeps/unix/bsd/tcflow.c (tcflow): Call __tcgetattr instead of
	tcgetattr.
	* sysdeps/unix/clock_nanosleep.c (__clock_nanosleep): Call
	__clock_gettime and __nanosleep instead of clock_gettime and
	nanosleep.
2018-04-02 19:07:52 +00:00
Samuel Thibault
79962d89a9 hurd: Code style fixes
No code change.
2018-03-20 03:00:39 +01:00
Samuel Thibault
0f652f053e hurd: Fix build with latest htl
* hurd/hurdsig.c: Include <pthreadP.h> instead of <pthread.h>.
2018-03-19 01:32:39 +01:00
Samuel Thibault
72103e73c9 hurd: Fix O_DIRECTORY | O_NOFOLLOW
Appending / to the path to be looked up would make us always follow a final
symlink, even with O_NOTRANS (since the final resolution is after the
'/').  In the O_DIRECTORY | O_NOFOLLOW case, we thus have to really open
the node and stat it, which we already do anyway, and check for
directory type.

	* hurd/hurdlookup.c (__hurd_file_name_lookup): Do not append '/' to
	path when flags contains O_NOFOLLOW.
	* hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Return ENOTDIR
	if flags contains O_DIRECTORY and the result is a directory.
2018-03-18 19:43:04 +01:00
Samuel Thibault
489999cc9c hurd: Fix O_NOFOLLOW
The error code documented by POSIX for opening a symlink with O_NOFOLLOW
is ELOOP.

Also, if the translator does not expose symlink as a symlink translator but
as a S_IFLNK file, O_NOFOLLOW needs to return ELOOP too.

	* hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Return ELOOP
	when opening a symlink with O_NOFOLLOW.
2018-03-18 19:42:17 +01:00
Samuel Thibault
55325314bf hurd: Fix copyright years 2018-03-18 18:33:37 +01:00
Agustina Arzille
fb4cc8a0c2 hurd: Reimplement libc locks using mach's gsync
* hurd/Makefile (routines): Add hurdlock.
	* hurd/Versions (GLIBC_PRIVATE): Added new entry to export the above
	interface.
	(HURD_CTHREADS_0.3): Remove __libc_getspecific.
	* hurd/hurdpid.c: Include <lowlevellock.h>
	(_S_msg_proc_newids): Use lll_wait to synchronize.
	* hurd/hurdsig.c: (reauth_proc): Use __mutex_lock and __mutex_unlock.
	* hurd/setauth.c: Include <hurdlock.h>, use integer for synchronization.
	* mach/Makefile (lock-headers): Remove machine-lock.h.
	* mach/lock-intern.h: Include <lowlevellock.h> instead of
	<machine-lock.h>.
	(__spin_lock_t): New type.
	(__SPIN_LOCK_INITIALIZER): New macro.
	(__spin_lock, __spin_unlock, __spin_try_lock, __spin_lock_locked,
	__mutex_init, __mutex_lock_solid, __mutex_unlock_solid, __mutex_lock,
	__mutex_unlock, __mutex_trylock): Use lll to implement locks.
	* mach/mutex-init.c: Include <lowlevellock.h> instead of <cthreads.h>.
	(__mutex_init): Initialize with lll.
	* manual/errno.texi (EOWNERDEAD, ENOTRECOVERABLE): New errno values.
	* sysdeps/mach/Makefile: Add libmachuser as dependencies for libs
	needing lll.
	* sysdeps/mach/hurd/bits/errno.h: Regenerate.
	* sysdeps/mach/hurd/cthreads.c (__libc_getspecific): Remove function.
	* sysdeps/mach/hurd/bits/libc-lock.h: Remove file.
	* sysdeps/mach/hurd/setpgid.c: Include <lowlevellock.h>.
	(__setpgid): Use lll for synchronization.
	* sysdeps/mach/hurd/setsid.c: Likewise with __setsid.
	* sysdeps/mach/bits/libc-lock.h: Include <tls.h> and <lowlevellock.h>
	instead of <cthreads.h>.
	(_IO_lock_inexpensive): New macro
	(__libc_lock_recursive_t, __rtld_lock_recursive_t): New structures.
	(__libc_lock_self0): New declaration.
	(__libc_lock_owner_self): New macro.
	(__libc_key_t): Remove type.
	(_LIBC_LOCK_INITIALIZER): New macro.
	(__libc_lock_define_initialized, __libc_lock_init, __libc_lock_fini,
	__libc_lock_fini_recursive, __rtld_lock_fini_recursive,
	__libc_lock_lock, __libc_lock_trylock, __libc_lock_unlock,
	__libc_lock_define_initialized_recursive,
	__rtld_lock_define_initialized_recursive,
	__libc_lock_init_recursive, __libc_lock_trylock_recursive,
	__libc_lock_lock_recursive, __libc_lock_unlock_recursive,
	__rtld_lock_initialize, __rtld_lock_trylock_recursive,
	__rtld_lock_lock_recursive, __rtld_lock_unlock_recursive
	__libc_once_define, __libc_mutex_unlock): Reimplement with lll.
	(__libc_lock_define_recursive, __rtld_lock_define_recursive,
	_LIBC_LOCK_RECURSIVE_INITIALIZER, _RTLD_LOCK_RECURSIVE_INITIALIZER):
	New macros.
	Include <libc-lockP.h> to reimplement libc_key* with pthread_key*.
	* hurd/hurdlock.c: New file.
	* hurd/hurdlock.h: New file.
	* mach/lowlevellock.h: New file
2018-03-18 18:23:45 +01:00
Samuel Thibault
6dbe9dcae5 hurd: Fix coding style 2018-03-18 00:06:19 +01:00
Samuel Thibault
c2fb08c78a hurd: Fix link cthread/pthread symbol exposition.
* hurd/Versions (HURD_CTHREADS_0.3): Rename weak refs cthread_fork,
	cthread_detach, pthread_getattr_np, pthread_attr_getstack,
	cthread_keycreate, cthread_getspecific, cthread_setspecific to
	__cthread_fork, __cthread_detach, __pthread_getattr_np,
	__pthread_attr_getstack, __cthread_keycreate, __cthread_getspecific,
	__cthread_setspecific.
	* hurd/hurdsig.c (_hurdsig_init): Use __cthread_fork,
	__cthread_detach, __pthread_getattr_np, __pthread_attr_getstack,
	__cthread_t instead of cthread_fork, cthread_detach,
	pthread_getattr_np, pthread_attr_getstack.
	* sysdeps/mach/hurd/cthreads.c (cthread_keycreate): Rename to
	__cthread_keycreate.
	(cthread_getspecific): Rename to __cthread_getspecific.
	(cthread_setspecific): Rename to __cthread_setspecific.
	(__libc_getspecific): Use __cthread_getspecific instead of
	cthread_getspecific.
	* sysdeps/mach/hurd/libc-lock.h (__libc_key_create): Use
	__cthread_keycreate instead of cthread_keycreate.
	(__libc_setspecific): Use __cthread_setspecific instead of
	cthread_setspecific.
	* sysdeps/mach/libc-lock.h (__libc_key_create, __libc_setspecific):
	Likewise.
2018-03-17 23:53:39 +01:00
Samuel Thibault
dc33bef307 hurd: Replace threadvars with TLS
This gets rid of a lot of kludge and gets closer to other ports.

	* hurd/Makefile (headers): Remove threadvar.h.
	(inline-headers): Remove threadvar.h.
	* hurd/Versions (GLIBC_2.0: Remove __hurd_sigthread_stack_base,
	__hurd_sigthread_stack_end, __hurd_sigthread_variables,
	__hurd_threadvar_max, __hurd_errno_location.
	(HURD_CTHREADS_0.3): Add pthread_getattr_np, pthread_attr_getstack.
	* hurd/hurd/signal.h: Do not include <hurd/threadvar.h>.
	(_hurd_self_sigstate): Use THREAD_SELF to get _hurd_sigstate.
	(_HURD_SIGNAL_H_EXTERN_INLINE): Use THREAD_SELF to get _hurd_sigstate,
	unless TLS is not initialized yet, in which case we do not need a
	critical section yet anyway.
	* hurd/hurd/threadvar.h: Include <tls.h>, do not include
	<machine-sp.h>.
	(__hurd_sigthread_variables, __hurd_threadvar_max): Remove variables
	declarations.
	(__hurd_threadvar_index): Remove enum.
	(_HURD_THREADVAR_H_EXTERN_INLINE): Remove macro.
	(__hurd_threadvar_location_from_sp,__hurd_threadvar_location): Remove
	inlines.
	(__hurd_reply_port0): New variable declaration.
	(__hurd_local_reply_port): New macro.
	* hurd/hurdsig.c (__hurd_sigthread_variables): Remove variable.
	(interrupted_reply_port_location): Add thread_t parameter.  Use it
	with THREAD_TCB to access thread-local variables.
	(_hurdsig_abort_rpcs): Pass ss->thread to
	interrupted_reply_port_location.
	(_hurd_internal_post_signal): Likewise.
	(_hurdsig_init): Use presence of cthread_fork instead of
	__hurd_threadvar_stack_mask to start signal thread by hand.
	Remove signal thread threadvar initialization.
	* hurd/hurdstartup.c: Do not include <hurd/threadvar.h>
	* hurd/sigunwind.c: Include <hurd/threadvar.h>
	(_hurdsig_longjmp_from_handler): Use __hurd_local_reply_port instead
	of threadvar.
	* sysdeps/mach/hurd/Versions (libc.GLIBC_PRIVATE): Add
	__libc_lock_self0.
	(ld.GLIBC_2.0): Remove __hurd_sigthread_stack_base,
	__hurd_sigthread_stack_end, __hurd_sigthread_variables.
	(ld.GLIBC_PRIVATE): Add __libc_lock_self0.
	* sysdeps/mach/hurd/cthreads.c: Add __libc_lock_self0.
	* sysdeps/mach/hurd/dl-sysdep.c (errno, __hurd_sigthread_stack_base,
	__hurd_sigthread_stack_end, __hurd_sigthread_variables, threadvars,
	__hurd_threadvar_stack_offset, __hurd_threadvar_stack_mask): Do not
	define variables.
	* sysdeps/mach/hurd/errno-loc.c: Do not include <errno.h> and
	<hurd/threadvar.h>.
	[IS_IN(rtld)] (rtld_errno): New variable.
	[IS_IN(rtld)] (__errno_location): New weak function.
	[!IS_IN(rtld)]: Include "../../../csu/errno-loc.c".
	* sysdeps/mach/hurd/errno.c: Remove file.
	* sysdeps/mach/hurd/fork.c: Include <hurd/threadvar.h>
	(__fork): Remove THREADVAR_SPACE macro and its use.
	* sysdeps/mach/hurd/i386/init-first.c (__hurd_threadvar_max): Remove
	variable.
	(init): Do not initialize threadvar.
	* sysdeps/mach/hurd/i386/libc.abilist (__hurd_threadvar_max): Remove
	symbol.
	* sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn): Use
	__hurd_local_reply_port instead of threadvar.
	* sysdeps/mach/hurd/i386/tls.h (tcbhead_t): Add reply_port and
	_hurd_sigstate fields.
	(HURD_DESC_TLS, __LIBC_NO_TLS, THREAD_TCB): New macro.
	* sysdeps/mach/hurd/i386/trampoline.c: Remove outdated comment.
	* sysdeps/mach/hurd/libc-lock.h: Do not include <hurd/threadvar.h>.
	(__libc_lock_owner_self): Use &__libc_lock_self0 and THREAD_SELF
	instead of threadvar.
	* sysdeps/mach/hurd/libc-tsd.h: Remove file.
	* sysdeps/mach/hurd/mig-reply.c (GETPORT, reply_port): Remove macros.
	(use_threadvar, global_reply_port): Remove variables.
	(__hurd_reply_port0): New variable.
	(__mig_get_reply_port): Use __hurd_local_reply_port and
	__hurd_reply_port0 instead of threadvar.
	(__mig_dealloc_reply_port): Likewise.
	(__mig_init): Do not initialize threadvar.
	* sysdeps/mach/hurd/profil.c: Fix comment.
2018-03-17 23:29:57 +01:00
Samuel Thibault
34e6a8694d hurd: Fix getting signal thread stack layout for fork
* hurd/hurdsig.c: Include <pthread.h>.
(_hurdsig_init): Call pthread_getattr_np and pthread_attr_getstack to
get the signal thread stack layout.
2018-03-17 22:53:01 +01:00
Samuel Thibault
f8baf2a224 hurd: add TLS support
* sysdeps/generic/thread_state.h (MACHINE_NEW_THREAD_STATE_FLAVOR):
	Define macro.
	* sysdeps/mach/thread_state.h (MACHINE_THREAD_STATE_FIX_NEW): New macro.
	* sysdeps/mach/i386/thread_state.h
	(MACHINE_NEW_THREAD_STATE_FLAVOR): New macro, defined to
	i386_THREAD_STATE.
	(MACHINE_THREAD_STATE_FLAVOR): Define to i386_REGS_SEGS_STATE instead of
	i386_THREAD_STATE.
	(MACHINE_THREAD_STATE_FIX_NEW): New macro, reads segments.

	* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): Use
	i386_REGS_SEGS_STATE instead of i386_THREAD_STATE.

	* sysdeps/mach/hurd/i386/tls.h (TCB_ALIGNMENT, HURD_SEL_LDT): New
	macros.
	(_hurd_tls_fork): Add original thread parameter, Duplicate existing LDT
	descriptor instead of creating a new one.
	(_hurd_tls_new): New function, creates a new descriptor and updates tcb.

	* mach/setup-thread.c: Include <ldsodefs.h>.
	(__mach_setup_thread): Call _dl_allocate_tls, pass
	MACHINE_NEW_THREAD_STATE_FLAVOR to __thread_set_state instead of
	MACHINE_THREAD_STATE_FLAVOR, before getting
	MACHINE_THREAD_STATE_FLAVOR, calling _hurd_tls_new, and setting
	MACHINE_THREAD_STATE_FLAVOR with the result.
	* hurd/hurdfault.c (_hurdsig_fault_init): Call
	MACHINE_THREAD_STATE_FIX_NEW.
	* sysdeps/mach/hurd/fork.c (__fork): Call _hurd_tls_fork for sigthread
	too.  Add original thread parameter.
2018-03-17 03:17:36 +01:00
Samuel Thibault
a1ede3a402 hurd: Fix includability of <hurd/signal.h> in all standards
* bits/sigaction.h: Add include guard.
* sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/hppa/bits/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/ia64/bits/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise.
* sysdeps/unix/sysv/linux/tile/bits/sigaction.h: Likewise.
* hurd/hurd/signal.h: Include <bits/sigaction.h>.
2018-03-05 22:50:29 +01:00
Samuel Thibault
974393ea43 Separate out error_t definition
so interfaces needing it can get it.

	* stdlib/errno.h (error_t): Move definition to...
	* bits/types/error_t.h: ... new header.
	* stdlib/Makefile (headers): Add bits/types/error_t.h.
	* sysdeps/mach/hurd/bits/errno.h (error_t): Move definition to...
	* sysdeps/mach/hurd/bits/types/error_t.h: ... new header.
	* sysdeps/mach/hurd/errnos.awk (error_t): Likewise.
	* hurd/hurd.h: Include <bits/types/error_t.h>
	* hurd/hurd/fd.h: Include <bits/types/error_t.h>
	* hurd/hurd/id.h: Include <errno.h> and <bits/types/error_t.h>
	* hurd/hurd/lookup.h: Include <errno.h> and <bits/types/error_t.h>
	* hurd/hurd/resource.h: Include <bits/types/error_t.h>
	* hurd/hurd/signal.h: Include <bits/types/error_t.h>
	* hurd/hurd/sigpreempt.h: Include <bits/types/error_t.h>
2018-03-04 17:27:58 +01:00
Samuel Thibault
ba89615dab hurd: Make almost all hurd headers includable in all standards
* hurd/hurd.h: Include <bits/types/sigset_t.h>
	* hurd/hurd/fd.h: Include <sys/select.h> and <bits/types/sigset_t.h>
	(_hurd_fd_read, _hurd_fd_write): Use __loff_t instead of loff_t.
	* hurd/hurd/signal.h: Include <bits/types/stack_t.h> and
	<bits/types/sigset_t.h>.
	[!defined __USE_GNU]: Do not #error out.
	(struct hurd_sigstate): Use _NSIG instead of NSIG.
	* hurd/hurd/sigpreempt.h (__need_size_t): Define.
	Include <stddef.h> and <bits/types/sigset_t.h>
	(struct hurd_signal_preemptor, hurd_catch_signal): Use __sighandler_t
	instead of sighandler_t.
2018-03-04 04:03:13 +01:00
Samuel Thibault
95dfdbd28c hurd: Avoid using ino64_t and loff_t in headers
* mach/Machrules ($(patsubst %,$(objpfx)%.h,$(user-interfaces)):
	Process mig output through $(migheaderpipe).
	* hurd/Makefile (migheaderpipe): Define variable.
2018-03-04 02:13:56 +01:00
Samuel Thibault
48d34cbc23 hurd: fix header conformity
* hurd/hurd/fd.h (_hurd_fd_error): Fix struct initializer to be
	trivial, for C++ conformity.
2018-03-04 01:35:38 +01:00
Samuel Thibault
3403cb7dd4 hurd: avoid including hurd/signal.h when not needed
thus making <hurd/port.h> and <hurd/userlink.h> includable without
_GNU_SOURCE.

	* hurd/hurd/port.h: Do not include <hurd/signal.h>.
	* hurd/hurd/userlink.h [!defined __USE_EXTERN_INLINES ||
	!defined _LIBC || !IS_IN (libc)]: Do not include <hurd/signal.h>.
2018-03-04 01:28:55 +01:00
Samuel Thibault
e30c291a6d hurd: Add missing includes
* hurd/hurd/id.h: Include <hurd/hurd_types.h>
	* hurd/hurd/ioctl.h: Include <mach/port.h>
	* hurd/hurd/lookup.h: Include <hurd/hurd_types.h>
2018-03-03 23:58:51 +01:00
Zack Weinberg
9964a14579 Mechanically remove _IO_ name aliases for types and constants.
This patch mechanically removes all remaining uses, and the
definitions, of the following libio name aliases:

 name                         replaced with
 ----                         -------------
 _IO_FILE                     FILE
 _IO_fpos_t                   __fpos_t
 _IO_fpos64_t                 __fpos64_t
 _IO_size_t                   size_t
 _IO_ssize_t                  ssize_t or __ssize_t
 _IO_off_t                    off_t
 _IO_off64_t                  off64_t
 _IO_pid_t                    pid_t
 _IO_uid_t                    uid_t
 _IO_wint_t                   wint_t
 _IO_va_list                  va_list or __gnuc_va_list
 _IO_BUFSIZ                   BUFSIZ
 _IO_cookie_io_functions_t    cookie_io_functions_t
 __io_read_fn                 cookie_read_function_t
 __io_write_fn                cookie_write_function_t
 __io_seek_fn                 cookie_seek_function_t
 __io_close_fn                cookie_close_function_t

I used __fpos_t and __fpos64_t instead of fpos_t and fpos64_t because
the definitions of fpos_t and fpos64_t depend on the largefile mode.
I used __ssize_t and __gnuc_va_list in a handful of headers where
namespace cleanliness might be relevant even though they're
internal-use-only.  In all other cases, I used the public-namespace
name.

There are a tiny handful of places where I left a use of 'struct _IO_FILE'
alone, because it was being used together with 'struct _IO_FILE_plus'
or 'struct _IO_FILE_complete' in the same arithmetic expression.

Because this patch was almost entirely done with search and replace, I
may have introduced indentation botches.  I did proofread the diff,
but I may have missed something.

The ChangeLog below calls out all of the places where this was not a
pure search-and-replace change.

Installed stripped libraries and executables are unchanged by this patch,
except that some assertions in vfscanf.c change line numbers.

	* libio/libio.h (_IO_FILE): Delete; all uses changed to FILE.
	(_IO_fpos_t): Delete; all uses changed to __fpos_t.
	(_IO_fpos64_t): Delete; all uses changed to __fpos64_t.
	(_IO_size_t): Delete; all uses changed to size_t.
	(_IO_ssize_t): Delete; all uses changed to ssize_t or __ssize_t.
	(_IO_off_t): Delete; all uses changed to off_t.
	(_IO_off64_t): Delete; all uses changed to off64_t.
	(_IO_pid_t): Delete; all uses changed to pid_t.
	(_IO_uid_t): Delete; all uses changed to uid_t.
	(_IO_wint_t): Delete; all uses changed to wint_t.
	(_IO_va_list): Delete; all uses changed to va_list or __gnuc_va_list.
	(_IO_BUFSIZ): Delete; all uses changed to BUFSIZ.
	(_IO_cookie_io_functions_t): Delete; all uses changed to
	cookie_io_functions_t.
	(__io_read_fn): Delete; all uses changed to cookie_read_function_t.
	(__io_write_fn): Delete; all uses changed to cookie_write_function_t.
	(__io_seek_fn): Delete; all uses changed to cookie_seek_function_t.
	(__io_close_fn): Delete: all uses changed to cookie_close_function_t.

	* libio/iofopncook.c: Remove unnecessary forward declarations.
	* libio/iolibio.h: Correct outdated commentary.
	* malloc/malloc.c (__malloc_stats): Remove unnecessary casts.
	* stdio-common/fxprintf.c (__fxprintf_nocancel):
	Remove unnecessary casts.
	* stdio-common/getline.c: Use _IO_getdelim directly.
	Don't redefine ssize_t.
	* stdio-common/printf_fp.c, stdio_common/printf_fphex.c
	* stdio-common/printf_size.c: Don't redefine size_t or FILE.
	Remove outdated comments.
	* stdio-common/vfscanf.c: Don't redefine va_list.
2018-02-21 14:11:05 -05:00
Samuel Thibault
2f8902cc7a hurd: Fix preprocessor indentation 2018-01-29 23:00:17 +01:00
Samuel Thibault
e01e0ddc42 hurd: Add expected ABI lists
* hurd/Versions: Fix version when _hurd_exec_paths was added.
* mach/Versions: Fix version when __mach_host_self_ was added.
* sysdeps/mach/hurd/i386/ld.abilist: New file.
* sysdeps/mach/hurd/i386/libBrokenLocale.abilist: New file.
* sysdeps/mach/hurd/i386/libanl.abilist: New file.
* sysdeps/mach/hurd/i386/libc.abilist: New file.
* sysdeps/mach/hurd/i386/libcrypt.abilist: New file.
* sysdeps/mach/hurd/i386/libdl.abilist: New file.
* sysdeps/mach/hurd/i386/libm.abilist: New file.
* sysdeps/mach/hurd/i386/libnsl.abilist: New file.
* sysdeps/mach/hurd/i386/libresolv.abilist: New file.
* sysdeps/mach/hurd/i386/librt.abilist: New file.
* sysdeps/mach/hurd/i386/libutil.abilist: New file.
2018-01-29 22:07:44 +01:00
Samuel Thibault
625ba81ef5 hurd: Include <sigsetops.h> from hurd/hurd/signal.h
* hurd/hurd/signal.h [__USE_EXTERN_INLINES][_LIBC][IS_IN(libc) ||
IS_IN(libpthread)]: Include <sigsetops.h>.
2018-01-28 19:36:49 +01:00
Samuel Thibault
e925416840 hurd: fix typo 2018-01-28 19:27:19 +01:00
Samuel Thibault
28f6186f3e hurd: take __USE_EXTERN_INLINES into account and restrict inlines
* hurd/hurd.h (__hurd_fail): Always declare function, and provide inline
version only if __USE_EXTERN_INLINES is defined.
* hurd/hurd/fd.h (_hurd_fd_error_signal, _hurd_fd_error, __hurd_dfail,
__hurd_sockfail): Likewise.
(_hurd_fd_get): Always declare functions, and provide inline versions
only if __USE_EXTERN_INLINES and _LIBC are defined and IS_IN(libc).
* hurd/hurd/port.h (_hurd_port_init, _hurd_port_locked_get,
_hurd_port_get, _hurd_port_free, _hurd_port_locked_set,
_hurd_port_set): Always declare functions, and provide inline versions
only if __USE_EXTERN_INLINES and _LIBC are defined and
IS_IN(libc).
* hurd/hurd/signal.h (_hurd_self_sigstate, _hurd_critical_section_lock,
_hurd_critical_section_unlock): Likewise.
* hurd/hurd/threadvar.h (__hurd_threadvar_location_from_sp,
* __hurd_threadvar_location): Likewise.
* hurd/hurd/userlink.h (_hurd_userlink_link, _hurd_userlink_unlink,
_hurd_userlink_clear): Likewise.
* mach/lock-intern.h (__spin_lock_init, __spin_lock, __mutex_lock,
__mutex_unlock, __mutex_trylock): Always declare functions, and provide
inline versions only if __USE_EXTERN_INLINES and _LIBC are defined.
* mach/mach/mig_support.h (__mig_strncpy): Likewise.
* sysdeps/generic/machine-lock.h (__spin_unlock, __spin_try_lock,
__spin_lock_locked): Likewise.
* sysdeps/mach/i386/machine-lock.h (__spin_unlock, __spin_try_lock,
__spin_lock_locked): Likewise.
* mach/spin-lock.c (__USE_EXTERN_INLINES): Define to 1.
* hurd/Versions (libc: GLIBC_2.27): Add _hurd_fd_error_signal,
_hurd_fd_error, __hurd_dfail, __hurd_sockfail, _hurd_port_locked_set,
__hurd_threadvar_location_from_sp, __hurd_threadvar_location,
_hurd_userlink_link, _hurd_userlink_unlink, _hurd_userlink_clear.
2018-01-28 18:46:23 +01:00
Thomas Schwinge
84814e2a40 hurd: Add missing fcntl-internal.h
* hurd/fcntl-internal.h: New file.
2018-01-28 17:05:40 +01:00
Samuel Thibault
f8bee46cc2 hurd: Fix warnings
* hurd/hurd/lookup.h (__hurd_file_name_lookup, hurd_file_name_lookup,
	__hurd_file_name_split, hurd_file_name_split,
	__hurd_directory_name_split, hurd_directory_name_split,
	__hurd_file_name_lookup_retry, hurd_file_name_lookup_retry,
	hurd_file_name_path_lookup): Make lookup function parameter take a
	const char *name instead of char *name.
	* hurd/hurdlookup.c (__hurd_file_name_lookup, __hurd_file_name_split,
	__hurd_directory_name_split): Likewise.
	* hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Likewise.
	* hurd/path-lookup.c (hurd_file_name_path_lookup): Likewise.
2018-01-28 16:23:59 +01:00
Samuel Thibault
09085ede12 hurd: Implement faccessat without AT_EACCESS flag
* hurd/hurd/fd.h: Include <fcntl.h>
(__hurd_at_flags): New function.
* hurd/lookup-at.c (__file_name_lookup_at): Replace flag computation
with call to __hurd_at_flags.
* include/unistd.h (__faccessat, __faccessat_noerrno): Add declaration.
* sysdeps/mach/hurd/access.c (access_common): Move implementation to
__faccessat
(hurd_fail_seterrno, hurd_fail_noerrno): Move to sysdeps/mach/hurd/faccessat.c.
(__access_noerrno): Use __faccessat_common instead of access_common.
(__access): Likewise.
* sysdeps/mach/hurd/euidaccess.c (__euidaccess): Replace implementation
with a call to __faccessat.
* sysdeps/mach/hurd/faccessat.c (faccessat): Rename into...
(__faccessat_common): ... this. Move implementation of __access into it when
AT_FLAGS does not contain AT_EACCESS. Make it call __hurd_at_flags, add
reauthenticate_cwdir_at helper to implement AT mechanism.
(__faccessat_noerrno): New function, just calls __faccessat_common.
(__faccessat): New function, just calls __faccessat_common.
(faccessat): Define weak alias.
2018-01-10 02:03:28 +01:00
Samuel Thibault
311ba8dc44 hurd: Use the new file_exec_paths RPC
From: Emilio Pozuelo Monfort <pochu27@gmail.com>
From: Svante Signell <svante.signell@gmail.com>

Pass the file paths of executable to the exec server, both relative and
absolute, which exec needs to properly execute and avertise #!-scripts.
Previously, the exec server tried to guess the name from argv[0] but argv[0]
only contains the executable name by convention.

	* hurd/hurdexec.c (_hurd_exec): Deprecate function.
	(_hurd_exec_paths): New function.
	* hurd/hurd.h (_hurd_exec): Deprecate function.
	(_hurd_exec_paths): Declare function.
	* hurd/Versions: Export _hurd_exec_paths.
	* sysdeps/mach/hurd/execve.c: Include <stdlib.h> and <stdio.h>
	(__execve): Use __getcwd to build absolute path, and use
	_hurd_exec_paths instead of _hurd_exec.
	* sysdeps/mach/hurd/spawni.c: Likewise.
	* sysdeps/mach/hurd/fexecve.c: Use _hurd_exec_paths instead of
	_hurd_exec.
2018-01-09 01:37:34 +01:00
Joseph Myers
688903eb3e Update copyright dates with scripts/update-copyrights.
* All files with FSF copyright notices: Update copyright dates
	using scripts/update-copyrights.
	* locale/programs/charmap-kw.h: Regenerated.
	* locale/programs/locfile-kw.h: Likewise.
2018-01-01 00:32:25 +00:00
Samuel Thibault
507fe02799 hurd: fix gethostname(NULL, 0)
* hurd/get-host.c (_hurd_get_host_config): Also check that more == 0
	before assuming that the file is empty.  Avoid testing buffer content
	when nread == 0.
2017-09-07 00:51:17 +02:00
Samuel Thibault
45a4f49ee5 hurd: Remove duplicate symbol version
* hurd/Versions (GLIBC_2.4): Remove __stack_chk_fail.
* mach/Versions (GLIBC_2.4): Remove __stack_chk_fail.
2017-08-28 14:19:55 +02:00
Samuel Thibault
6f4fc73ec9 hurd: Fix typo
* hurd/Versions: Fix typo.
* mach/Versions: Fix typo.
2017-08-28 14:16:50 +02:00
Samuel Thibault
99ee4d26dc hurd: Fix static initialization with -fstack-protector-strong
When linked statically, TLS initialization is not achieved before
mach_init and alike, so ssp accesses to tcbhead's stack_guard would
crash.  We can just avoid using ssp in the few functions needed before
TLS is set up.

	* mach/Makefile (CFLAGS-mach_init.o, CFLAGS-RPC_vm_statistics.o,
	CFLAGS-RPC_vm_map.o, CFLAGS-RPC_vm_protect.o,
	CFLAGS-RPC_i386_set_gdt.o, CFLAGS-RPC_i386_set_ldt.o,
	CFLAGS-RPC_task_get_special_port.o): Add $(no-stack-protector).
	* hurd/Makefile (CFLAGS-hurdstartup.o,
	CFLAGS-RPC_exec_startup_get_info.o): Add $(no-stack-protector).
2017-08-27 22:29:43 +02:00
Samuel Thibault
97e02ad233 hurd: fix build with -fstack-protector-strong
libmachuser and libhurduser also need stack_chk_fail_local and they do not
link against libc_nonshared.

       * mach/stack_chk_fail_local.c: New file.
       * hurd/stack_chk_fail_local.c: New file.
       * mach/Machrules ($(interface-library)-routines): Add
       stack_chk_fail_local.
       * mach/Versions (GLIBC_2.4): Add __stack_chk_fail.
       * hurd/Versions (GLIBC_2.4): Add __stack_chk_fail.
2017-08-27 22:10:17 +02:00
Zack Weinberg
199fc19d3a Remove __need macros from stdio.h and wchar.h.
wint_t is a little finicky because it might be defined by stddef.h, which
belongs to the compiler.

In addition to the _types_, a bunch of other declarations shared between
wctype.h and wchar.h are factored out to their own header.

	* libio/bits/types/FILE.h, libio/bits/types/__FILE.h
	* wcsmbs/bits/types/mbstate_t.h, wcsmbs/bits/types/__mbstate_t.h
	* wcsmbs/bits/types/wint_t.h: New single-type definition files.
	* wctype/bits/wctype-wchar.h: New file holding declarations shared
	between wctype.h and wchar.h.

	* libio/Makefile, wcsmbs/Makefile, wctype/Makefile:
	Install them.

	* include/bits/types/FILE.h, include/bits/types/__FILE.h
	* include/bits/types/mbstate_t.h, include/bits/types/__mbstate_t.h
	* include/bits/types/wint_t.h, include/bits/wcsmbs-wchar.h:
	New wrappers.
	* include/stdio.h, include/wchar.h, include/wctype.h:
	No need to handle __need macros.

	* grp/grp.h, gshadow/gshadow.h, hurd/hurd.h, iconv/gconv.h
	* libio/stdio.h, mach/mach.h, misc/mntent.h, pwd/pwd.h
	* shadow/shadow.h, stdio-common/printf.h, wcsmbs/uchar.h
	* wcsmbs/wchar.h, wctype/wctype.h
	* sysdeps/generic/_G_config.h, sysdeps/unix/sysv/linux/_G_config.h
	Use the new files instead of __need macros.
2017-06-08 13:58:17 -04:00
Joseph Myers
7553131847 Fix struct sigaltstack namespace (bug 21517).
glibc defines the stack_t type with the tag struct sigaltstack.  This
is not permitted by POSIX; sigaltstack is only reserved with file
scope in the namespace of ordinary identifiers, not the tag namespace,
and in the case where stack_t is obtained from ucontext.h rather than
signal.h, it's not reserved with file scope at all.

This patch removes the tag accordingly and updates uses in glibc of
struct sigaltstack.  This is similar to the removal of the "struct
siginfo" tag a few years ago: C++ name mangling changes are an
unavoidable consequence.  A NEWS item is added to note the changed
mangling.  There is inevitably some risk of breaking builds of
anything that relies on the struct sigaltstack name (though the first
few hits I looked at from codesearch.debian.net generally seemed to
involve code that could use the stack_t name conditionally, so
depending on how they determine the conditionals they may work with
glibc not defining the struct tag anyway).

Tested for x86_64 and x86, and with build-many-glibcs.py.

	[BZ #21517]
	* bits/types/stack_t.h (stack_t): Remove struct tag.
	* sysdeps/unix/sysv/linux/bits/types/stack_t.h (stack_t):
	Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/types/stack_t.h (stack_t):
	Likewise.
	* debug/segfault.c (install_handler): Use stack_t instead of
	struct sigaltstack.
	* hurd/hurd/signal.h (struct hurd_sigstate): Likewise.
	* hurd/trampoline.c (_hurd_setup_sighandler): Likewise.
	* include/signal.h (__sigaltstack): Likwise.
	* signal/sigaltstack.c (__sigaltstack): Likewise.
	* signal/signal.h (sigaltstack): Likewise.
	* sysdeps/mach/hurd/i386/signal-defines.sym
	(SIGALTSTACK__SS_SP__OFFSET): Likewise.
	(SIGALTSTACK__SS_SIZE__OFFSET): Likewise.
	(SIGALTSTACK__SS_FLAGS__OFFSET): Likewise.
	* sysdeps/mach/hurd/sigaltstack.c (__sigaltstack): Likewise.
	* sysdeps/mach/hurd/sigstack.c (sigstack): Likewise.
	* sysdeps/unix/sysv/linux/alpha/sys/procfs.h (struct
	elf_prstatus): Likewise.
	* sysdeps/unix/sysv/linux/hppa/____longjmp_chk.c (CHECK_SP):
	Likewise.
	* sysdeps/unix/sysv/linux/ia64/sys/procfs.h (struct elf_prstatus):
	Likewise.
	* sysdeps/unix/sysv/linux/m68k/____longjmp_chk.c (CHECK_SP):
	Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sys/procfs.h (struct
	elf_prstatus): Likewise.
	* sysdeps/unix/sysv/linux/sh/sys/procfs.h (struct elf_prstatus):
	Likewise.
	* sysdeps/unix/sysv/linux/sys/procfs.h (struct elf_prstatus):
	Likewise.
2017-06-05 10:17:46 +00:00
Wilco Dijkstra
c7a37ad352 As a minor cleanup remove the (r)index defines from include/string.h as
they are only used internally in a few places.  Rename all uses that
occur in GLIBC.

	* hurd/path-lookup.c (file_name_path_scan): Rename index to strchr.
	* include/string.h (index): Remove define.
	(rindex): Likewise.
	* misc/getttyent.c (__getttyent): Rename index to strchr.
	* misc/ttyslot.c (ttyslot): Rename rindex to strrchr.
	* sunrpc/rpc_main.c (mkfile_output): Likewise.
2017-02-06 18:15:18 +00:00
Joseph Myers
bfff8b1bec Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Samuel Thibault
71be79a25f hurd: fix using hurd.h in C++ programs
* hurd/hurd.h: Cast errno constants to error_t to fix usage in C++
	programs.
2016-12-04 23:18:32 +01:00
Samuel Thibault
2dacdc5eb0 hurd: fix using hurd/signal.h in C++ programs
* hurd/hurd/signal.h (HURD_MSGPORT_RPC): Cast expressions results to
	error_t to fix usage in C++ programs.
2016-11-27 17:22:22 +01:00
Adhemerval Zanella
e92bd6e362 Fix hurd __access_noerrno implementation.
This patch fixes some hurd bits from commit afcf3cd8eb that added the
__access_noerrno internal symbol.  It basically removes the nonrequired
__hurd_fail_noerrno (since the 'err' argument is ignored) and fixes
a typo for EACCES.

However, as stated on maillist [1] this __access_noerrno may still be
unsafe to run during initialization of tunables on the Hurd.  The
access_common calls __hurd_file_name_lookup, which calls
__hurd_file_name_lookup_retry, which can set errno.

[1] https://sourceware.org/ml/libc-alpha/2016-11/msg00646.html
2016-11-18 16:49:08 -02:00
Adhemerval Zanella
afcf3cd8eb New internal function __access_noerrno
Implement an internal version of __access called __access_noerrno that
avoids setting errno.  This is useful to check accessibility of files
very early on in process startup i.e. before TLS setup.  This allows
tunables to replace MALLOC_CHECK_ safely (i.e. check existence of
/etc/suid-debug to enable/disable MALLOC_CHECK) and at the same time
initialize very early so that it can override IFUNCs.

Checked on x86_64.

	* hurd/hurd.h (__hurd_fail_noerrno): New function.
	* include/unistd.h [IS_IN (rtld) || !defined SHARED]: Declare
	__access_noerrno.
	* io/access.c (__access_noerrno): New function.
	* sysdeps/mach/hurd/access.c (hurd_fail_seterrno): New function.
	(hurd_fail_seterrno): Likewise.
	(access_common): Likewise.
	(__access_noerrno): Likewise.
	* sysdeps/nacl/access.c (__access_noerrno): Likewise.
	* sysdeps/unix/sysv/linux/access.c (__access_noerrno): Likewise.
	* sysdeps/nacl/nacl-interfaces.h (NACL_CALL_NOERRNO): New
	macro.
2016-11-16 15:53:58 -02:00
Samuel Thibault
e67f54ab1a hurdmalloc: Run fork handler as late as possible [BZ #19431]
This is the hurd-specific follow-up for
29d794863c : hurdmalloc also needs the
same fix

	* hurd/hurdmalloc.c (malloc_fork_prepare): Rename to
	_hurd_malloc_fork_prepare.
	(malloc_fork_parent): Rename to _hurd_malloc_fork_parent.
	(malloc_fork_child): Rename to _hurd_malloc_fork_child.
	(_hurd_fork_prepare_hook): Drop malloc_fork_prepare.
	(_hurd_fork_parent_hook): Drop malloc_fork_parent.
	(_hurd_fork_child_hook): Drop malloc_fork_child.
	* hurd/hurdmalloc.h (_hurd_malloc_fork_prepare,
	_hurd_malloc_fork_parent, _hurd_malloc_fork_child): Add declarations.
	* sysdeps/mach/hurd/fork.c (__fork): Call __malloc_fork_lock_parent
	after locking locks (notably hurd_dtable_lock). Call
	_hurd_malloc_fork_prepare after that. Call _hurd_malloc_fork_parent
	before __malloc_fork_unlock_parent and _hurd_malloc_fork_child before
	__malloc_fork_unlock_child.
2016-09-22 01:45:48 +02:00
Samuel Thibault
aea5c83461 Fix exc2signal.c template
As a follow-up to 0e3426bbcf

	* hurd/exc2signal.c: #include <hurd/signal.h>
	(_hurd_exception2signal): Replace 'exception', 'code', 'subcode',
	'sigcode', 'error' parameters with 'detail' parameter.  Fix code
	accordingly.
2016-09-20 21:58:36 +02:00
Flavio Cruz
e42ce0f45e Fix O_DIRECTORY lookup on trivial translators
* hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Do not remove
leading slash when `file_name' is "/".
2016-01-13 00:48:30 +01:00
Joseph Myers
f7a9f785e5 Update copyright dates with scripts/update-copyrights. 2016-01-04 16:05:18 +00:00
Samuel Thibault
fb304035c4 Fix RPC breakage when longjumping from signal handler
* hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Destroy reply port
	of interrupted RPC instead of restoring it.
2015-11-25 01:09:13 +01:00
Joseph Myers
9dd346ff43 Convert 113 more function definitions to prototype style (files with assertions).
This mostly automatically-generated patch converts 113 function
definitions in glibc from old-style K&R to prototype-style.  Following
my other recent such patches, this one deals with the case of function
definitions in files that either contain assertions or where grep
suggested they might contain assertions - and thus where it isn't
possible to use a simple object code comparison as a sanity check on
the correctness of the patch, because line numbers are changed.

A few such automatically-generated changes needed to be supplemented
by manual changes for the result to compile.  openat64 had a prototype
declaration with "..." but an old-style definition in
sysdeps/unix/sysv/linux/dl-openat64.c, and "..." needed adding to the
generated prototype in the definition (I've filed
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68024> for diagnosing
such cases in GCC; the old state was undefined behavior not requiring
a diagnostic, but one seems a good idea).  In addition, as Florian has
noted regparm attribute mismatches between declaration and definition
are only diagnosed for prototype definitions, and five functions
needed internal_function added to their definitions (in the case of
__pthread_mutex_cond_lock, via the macro definition of
__pthread_mutex_lock) to compile on i386.

After this patch is in, remaining old-style definitions are probably
most readily fixed manually before we can turn on
-Wold-style-definition for all builds.

Tested for x86_64 and x86 (testsuite).

	* crypt/md5-crypt.c (__md5_crypt_r): Convert to prototype-style
	function definition.
	* crypt/sha256-crypt.c (__sha256_crypt_r): Likewise.
	* crypt/sha512-crypt.c (__sha512_crypt_r): Likewise.
	* debug/backtracesyms.c (__backtrace_symbols): Likewise.
	* elf/dl-minimal.c (_itoa): Likewise.
	* hurd/hurdmalloc.c (malloc): Likewise.
	(free): Likewise.
	(realloc): Likewise.
	* inet/inet6_option.c (inet6_option_space): Likewise.
	(inet6_option_init): Likewise.
	(inet6_option_append): Likewise.
	(inet6_option_alloc): Likewise.
	(inet6_option_next): Likewise.
	(inet6_option_find): Likewise.
	* io/ftw.c (FTW_NAME): Likewise.
	(NFTW_NAME): Likewise.
	(NFTW_NEW_NAME): Likewise.
	(NFTW_OLD_NAME): Likewise.
	* libio/iofwide.c (_IO_fwide): Likewise.
	* libio/strops.c (_IO_str_init_static_internal): Likewise.
	(_IO_str_init_static): Likewise.
	(_IO_str_init_readonly): Likewise.
	(_IO_str_overflow): Likewise.
	(_IO_str_underflow): Likewise.
	(_IO_str_count): Likewise.
	(_IO_str_seekoff): Likewise.
	(_IO_str_pbackfail): Likewise.
	(_IO_str_finish): Likewise.
	* libio/wstrops.c (_IO_wstr_init_static): Likewise.
	(_IO_wstr_overflow): Likewise.
	(_IO_wstr_underflow): Likewise.
	(_IO_wstr_count): Likewise.
	(_IO_wstr_seekoff): Likewise.
	(_IO_wstr_pbackfail): Likewise.
	(_IO_wstr_finish): Likewise.
	* locale/programs/localedef.c (normalize_codeset): Likewise.
	* locale/programs/locarchive.c (add_locale_to_archive): Likewise.
	(add_locales_to_archive): Likewise.
	(delete_locales_from_archive): Likewise.
	* malloc/malloc.c (__libc_mallinfo): Likewise.
	* math/gen-auto-libm-tests.c (init_fp_formats): Likewise.
	* misc/tsearch.c (__tfind): Likewise.
	* nptl/pthread_attr_destroy.c (__pthread_attr_destroy): Likewise.
	* nptl/pthread_attr_getdetachstate.c
	(__pthread_attr_getdetachstate): Likewise.
	* nptl/pthread_attr_getguardsize.c (pthread_attr_getguardsize):
	Likewise.
	* nptl/pthread_attr_getinheritsched.c
	(__pthread_attr_getinheritsched): Likewise.
	* nptl/pthread_attr_getschedparam.c
	(__pthread_attr_getschedparam): Likewise.
	* nptl/pthread_attr_getschedpolicy.c
	(__pthread_attr_getschedpolicy): Likewise.
	* nptl/pthread_attr_getscope.c (__pthread_attr_getscope):
	Likewise.
	* nptl/pthread_attr_getstack.c (__pthread_attr_getstack):
	Likewise.
	* nptl/pthread_attr_getstackaddr.c (__pthread_attr_getstackaddr):
	Likewise.
	* nptl/pthread_attr_getstacksize.c (__pthread_attr_getstacksize):
	Likewise.
	* nptl/pthread_attr_init.c (__pthread_attr_init_2_1): Likewise.
	(__pthread_attr_init_2_0): Likewise.
	* nptl/pthread_attr_setdetachstate.c
	(__pthread_attr_setdetachstate): Likewise.
	* nptl/pthread_attr_setguardsize.c (pthread_attr_setguardsize):
	Likewise.
	* nptl/pthread_attr_setinheritsched.c
	(__pthread_attr_setinheritsched): Likewise.
	* nptl/pthread_attr_setschedparam.c
	(__pthread_attr_setschedparam): Likewise.
	* nptl/pthread_attr_setschedpolicy.c
	(__pthread_attr_setschedpolicy): Likewise.
	* nptl/pthread_attr_setscope.c (__pthread_attr_setscope):
	Likewise.
	* nptl/pthread_attr_setstack.c (__pthread_attr_setstack):
	Likewise.
	* nptl/pthread_attr_setstackaddr.c (__pthread_attr_setstackaddr):
	Likewise.
	* nptl/pthread_attr_setstacksize.c (__pthread_attr_setstacksize):
	Likewise.
	* nptl/pthread_condattr_setclock.c (pthread_condattr_setclock):
	Likewise.
	* nptl/pthread_create.c (__find_in_stack_list): Likewise.
	* nptl/pthread_getattr_np.c (pthread_getattr_np): Likewise.
	* nptl/pthread_mutex_cond_lock.c (__pthread_mutex_lock): Define to
	use internal_function.
	* nptl/pthread_mutex_init.c (__pthread_mutex_init): Convert to
	prototype-style function definition.
	* nptl/pthread_mutex_lock.c (__pthread_mutex_lock): Likewise.
	(__pthread_mutex_cond_lock_adjust): Likewise.  Use
	internal_function.
	* nptl/pthread_mutex_timedlock.c (pthread_mutex_timedlock):
	Convert to prototype-style function definition.
	* nptl/pthread_mutex_trylock.c (__pthread_mutex_trylock):
	Likewise.
	* nptl/pthread_mutex_unlock.c (__pthread_mutex_unlock_usercnt):
	Likewise.
	(__pthread_mutex_unlock): Likewise.
	* nptl_db/td_ta_clear_event.c (td_ta_clear_event): Likewise.
	* nptl_db/td_ta_set_event.c (td_ta_set_event): Likewise.
	* nptl_db/td_thr_clear_event.c (td_thr_clear_event): Likewise.
	* nptl_db/td_thr_event_enable.c (td_thr_event_enable): Likewise.
	* nptl_db/td_thr_set_event.c (td_thr_set_event): Likewise.
	* nss/makedb.c (process_input): Likewise.
	* posix/fnmatch.c (__strchrnul): Likewise.
	(__wcschrnul): Likewise.
	(fnmatch): Likewise.
	* posix/fnmatch_loop.c (FCT): Likewise.
	* posix/glob.c (globfree): Likewise.
	(__glob_pattern_type): Likewise.
	(__glob_pattern_p): Likewise.
	* posix/regcomp.c (re_compile_pattern): Likewise.
	(re_set_syntax): Likewise.
	(re_compile_fastmap): Likewise.
	(regcomp): Likewise.
	(regerror): Likewise.
	(regfree): Likewise.
	* posix/regexec.c (regexec): Likewise.
	(re_match): Likewise.
	(re_search): Likewise.
	(re_match_2): Likewise.
	(re_search_2): Likewise.
	(re_search_stub): Likewise.  Use internal_function
	(re_copy_regs): Likewise.
	(re_set_registers): Convert to prototype-style function
	definition.
	(prune_impossible_nodes): Likewise.  Use internal_function.
	* resolv/inet_net_pton.c (inet_net_pton): Convert to
	prototype-style function definition.
	(inet_net_pton_ipv4): Likewise.
	* stdlib/strtod_l.c (____STRTOF_INTERNAL): Likewise.
	* sysdeps/pthread/aio_cancel.c (aio_cancel): Likewise.
	* sysdeps/pthread/aio_suspend.c (aio_suspend): Likewise.
	* sysdeps/pthread/timer_delete.c (timer_delete): Likewise.
	* sysdeps/unix/sysv/linux/dl-openat64.c (openat64): Likewise.
	Make variadic.
	* time/strptime_l.c (localtime_r): Convert to prototype-style
	function definition.
	* wcsmbs/mbsnrtowcs.c (__mbsnrtowcs): Likewise.
	* wcsmbs/mbsrtowcs_l.c (__mbsrtowcs_l): Likewise.
	* wcsmbs/wcsnrtombs.c (__wcsnrtombs): Likewise.
	* wcsmbs/wcsrtombs.c (__wcsrtombs): Likewise.
2015-10-20 11:54:09 +00:00
Samuel Thibault
c7b8939bf5 Remove unusued variable
hurd/hurd-raise.c (_hurd_raise_signal): Remove unused err variable.
2015-10-10 16:44:42 +02:00
Samuel Thibault
3fe29ca043 Make _hurd_raise_signal directly return the error
* hurd/hurd-raise.c (_hurd_raise_signal): Return error returned by
	__msg_sig_post.
2015-10-10 16:31:43 +02:00
Samuel Thibault
ee0976f7fc Make _hurd_raise_signal return errors
* hurd/hurd-raise.c (_hurd_raise_signal): Set errno to error returned
	by __msg_sig_post.
	* hurd/hurd/signal.h (_hurd_raise_signal): Add int return type.
2015-10-10 16:21:41 +02:00
Samuel Thibault
868df0f9e9 Fix warnings
* sysdeps/mach/hurd/Makefile ($(common-objpfx)errnos.d): Depend on
	libc-modules.h
	* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): Remove
	unused declaration of _hurd_intr_rpc_msg_in_trap.
	* mach/mach_init.c (__mach_init): Test whether HAVE_HOST_PAGE_SIZE is
	defined instead of whether it is non-zero.
	* sysdeps/mach/hurd/i386/intr-msg.h (INTR_MSG_TRAP): Use "+m"
	input constraint instead of both input and output constraint.  Use ecx
	clobber instead of %ecx.
	* sysdeps/mach/hurd/malloc-machine.h (mutex_init, mutex_lock,
	mutex_unlock): Use a statement expression instead of an expression list.
	* sysdeps/mach/hurd/setitimer.c (_hurd_itimer_thread_stack_size): Set
	type to vm_size_t instead of vm_address_t.
	* sysdeps/mach/hurd/fork.c (__fork): Test whether STACK_GROWTH_UP is
	defined instead of whether it is non-zero.
	* hurd/hurd/ioctl.h (_hurd_locked_install_cttyid): New declaration.
	* sysdeps/mach/hurd/setsid.c: Include <hurd/ioctl.h>.
	* sysdeps/mach/hurd/mmap.c (__mmap): Use 0 instead of NULL for
	comparisons with mapaddr.
	* nscd/nscd-client.h: Include <time.h>.
	* sysdeps/mach/hurd/dl-sysdep.c (fmh): Pass vm_offset_t dummy
	9th parameter to __vm_region instead of int.
2015-03-21 04:49:44 +01:00
Samuel Thibault
335190fb39 add hurd/hurdsocket.h file missing from a5eb23d 2015-02-08 17:49:16 +01:00
Samuel Thibault
f96ec27aa9 hurd: fix compilation of signal.h in C++ 2015-02-07 22:41:23 +01:00
Samuel Thibault
22395607bc hurd: fix compilation of signal.h in C++ 2015-02-07 22:35:35 +01:00
Samuel Thibault
c187253fc2 hurdselect: remove dead code.
This removes code which actually never happens, and is already taken
care of in the function.

This is in the second part of select, when the __mach_msg() function
over the portset has returned something else than MACH_MSG_SUCCESS. I
guess in the past the value returned by __mach_msg() was stored in err,
so this code was necessary to set back err to 0, but now it is stored in
msgerr, so err is already still 0 by default. It can thus never contain
MACH_RCV_TIMED_OUT, i.e. the code is dead. The first case mentioned in
the comment is already handled: on time out with no message, err is
already still the default 0. On time out due to poll, err would still be
0, unless some of the io_select RPCs has returned EINTR, in which case
it contains EINTR. If any other io_select RPCs had returned a proper
answer, got!=0, and thus err is set to 0 just below. The code is thus
indeed not useful any more.
2015-02-07 22:18:03 +01:00
Samuel Thibault
e9a5bc1c18 hurd: fix sigstate locking
It looks like _hurd_thread_sigstate used to return with the sigstate
lock held long ago, but since that's no longer the case, don't unlock
something that isn't locked.

Note that it's unlikely this change fixes anything in practice since
its current implementation (on i386) makes this call a nop.
2015-02-07 22:16:19 +01:00
Samuel Thibault
a9a002fb6c hurdselect: Let select get interrupted by signals
We need to set MACH_RCV_INTERRUPT to avoid __mach_msg just looping on signals,
and then we can handle the interruption.
2015-02-07 22:13:46 +01:00
Samuel Thibault
bd959902bc hurd: map nice levels 1-to-1 with Mach prio levels 2015-02-07 22:09:09 +01:00
Samuel Thibault
d5131d3c1e hurd: allow poll() array bigger than FD_SETSIZE 2015-02-07 22:07:38 +01:00
Joseph Myers
b168057aaa Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
Joseph Myers
a5f891ac8d Consistently include Makeconfig after defining subdir.
In <https://sourceware.org/ml/libc-alpha/2014-01/msg00196.html> I
noted it was necessary to add includes of Makeconfig early in various
subdirectory makefiles for the tests-special variable settings added
by that patch to be conditional on configuration information.  No-one
commented on the general question there of whether Makeconfig should
always be included immediately after the definition of subdir.

This patch implements that early inclusion of Makeconfig in each
directory (which is a lot easier than consistent placement of includes
of Rules).  Includes are added if needed, or moved up if already
present.  Subdirectory "all:" targets are removed, since Makeconfig
provides one.

There is potential for further cleanups I haven't done.  Rules and
Makerules have code such as

ifneq   "$(findstring env,$(origin headers))" ""
headers :=
endif

to override to empty any value of various variables that came from the
environment.  I think there is a case for Makeconfig setting all the
subdirectory variables (other than subdir) to empty to ensure no
outside value is going to take effect if a subdirectory fails to
define a variable.  (A list of such variables, possibly out of date
and incomplete, is in manual/maint.texi.)  Rules and Makerules would
give errors if Makeconfig hadn't already been included, instead of
including it themselves.  The special code to override values coming
from the environment would then be obsolete and could be removed.

Tested x86_64, including that installed binaries are identical before
and after the patch.

	* argp/Makefile: Include Makeconfig immediately after defining
	subdir.
	* assert/Makefile: Likewise.
	* benchtests/Makefile: Likewise.
	* catgets/Makefile: Likewise.
	* conform/Makefile: Likewise.
	* crypt/Makefile: Likewise.
	* csu/Makefile: Likewise.
	(all): Remove target.
	* ctype/Makefile: Include Makeconfig immediately after defining
	subdir.
	* debug/Makefile: Likewise.
	* dirent/Makefile: Likewise.
	* dlfcn/Makefile: Likewise.
	* gmon/Makefile: Likewise.
	* gnulib/Makefile: Likewise.
	* grp/Makefile: Likewise.
	* gshadow/Makefile: Likewise.
	* hesiod/Makefile: Likewise.
	* hurd/Makefile: Likewise.
	(all): Remove target.
	* iconvdata/Makefile: Include Makeconfig immediately after
	defining subdir.
	* inet/Makefile: Likewise.
	* intl/Makefile: Likewise.
	* io/Makefile: Likewise.
	* libio/Makefile: Likewise.
	(all): Remove target.
	* locale/Makefile: Include Makeconfig immediately after defining
	subdir.
	* login/Makefile: Likewise.
	* mach/Makefile: Likewise.
	(all): Remove target.
	* malloc/Makefile: Include Makeconfig immediately after defining
	subdir.
	(all): Remove target.
	* manual/Makefile: Include Makeconfig immediately after defining
	subdir.
	* math/Makefile: Likewise.
	* misc/Makefile: Likewise.
	* nis/Makefile: Likewise.
	* nss/Makefile: Likewise.
	* po/Makefile: Likewise.
	(all): Remove target.
	* posix/Makefile: Include Makeconfig immediately after defining
	subdir.
	* pwd/Makefile: Likewise.
	* resolv/Makefile: Likewise.
	* resource/Makefile: Likewise.
	* rt/Makefile: Likewise.
	* setjmp/Makefile: Likewise.
	* shadow/Makefile: Likewise.
	* signal/Makefile: Likewise.
	* socket/Makefile: Likewise.
	* soft-fp/Makefile: Likewise.
	* stdio-common/Makefile: Likewise.
	* stdlib/Makefile: Likewise.
	* streams/Makefile: Likewise.
	* string/Makefile: Likewise.
	* sunrpc/Makefile: Likewise.
	(all): Remove target.
	* sysvipc/Makefile: Include Makeconfig immediately after defining
	subdir.
	* termios/Makefile: Likewise.
	* time/Makefile: Likewise.
	* timezone/Makefile: Likewise.
	(all): Remove target.
	* wcsmbs/Makefile: Include Makeconfig immediately after defining
	subdir.
	* wctype/Makefile: Likewise.

libidn/ChangeLog:
	* Makefile: Include Makeconfig immediately after defining subdir.

localedata/ChangeLog:
	* Makefile: Include Makeconfig immediately after defining subdir.
	(all): Remove target.

nptl/ChangeLog:
	* Makefile: Include Makeconfig immediately after defining subdir.

nptl_db/ChangeLog:
	* Makefile: Include Makeconfig immediately after defining subdir.
2014-02-26 23:12:03 +00:00
Roland McGrath
d4ec6ae19e Remove obsolete SHLIB_COMPAT conditionalization in Versions files. 2014-02-22 01:19:45 -08:00
Ondřej Bílka
a1ffb40e32 Use glibc_likely instead __builtin_expect. 2014-02-10 15:07:12 +01:00
Allan McRae
d4697bc93d Update copyright notices with scripts/update-copyrights 2014-01-01 22:00:23 +10:00
Joseph Myers
3f2e46a494 Remove --disable-versioning. 2013-09-04 15:25:42 +00:00
Joseph Myers
60d2f8f3c7 Use (void) in no-arguments function definitions. 2013-06-08 00:22:23 +00:00
Joseph Myers
2e09a79ada Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
Ondrej Bilka
350635a59a Fix leading whitespaces. 2013-06-06 20:36:07 +02:00
Joseph Myers
9c84384cc1 Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
Joseph Myers
0e2f956295 Fix copyright notice corruption from update-copyright bug. 2013-01-02 19:28:45 +00:00
Joseph Myers
568035b787 Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Joseph Myers
f4cf5f2d8b Add script to update copyright notices and reformat some to facilitate its use. 2013-01-01 16:29:10 +00:00
Roland McGrath
4f75b7a09a Distinguish ELOOP diagnosis threshold from SYMLOOP_MAX. 2012-08-03 11:39:30 -07:00
Thomas Schwinge
10589b4adb Hurd: avoid PLT call to strtoul 2012-05-10 15:57:28 -07:00
Pino Toscano
63643c85d4 Hurd: hurdsock: reject negative domains 2012-05-10 15:57:28 -07:00
Pino Toscano
c6474b07e7 Hurd: _hurd_select: check for invalid parameter values 2012-05-10 15:57:27 -07:00
Samuel Thibault
edadcbd624 Hurd: empty file names fail with ENOENT 2012-05-10 15:57:26 -07:00
Samuel Thibault
802ca5a5ef Hurd: Missing critical region locks. 2012-05-10 15:57:23 -07:00
Samuel Thibault
ecd0de9a95 Hurd: Fix signal-catching functions. 2012-05-10 15:57:23 -07:00
Thomas Schwinge
6f080c2fcf Hurd: O_CLOEXEC in rtld 2012-05-10 15:57:22 -07:00
H.J. Lu
eb96ffb07d Move stdio-common/_itoa.h to sysdeps/generic 2012-03-20 16:00:23 -07:00
Ulrich Drepper
a4300c7a4d Remove distribute variable from Makefiles 2012-03-07 05:17:13 -05:00
Paul Eggert
59ba27a63a Replace FSF snail mail address with URLs. 2012-02-09 23:18:22 +00:00
Ulrich Drepper
3ce1f29594 Cleanup of configuration options
Make several tool features mandatory and simplify the code.
2011-09-10 14:34:15 -04:00
Samuel Thibault
5a42321d43 Hurd: fix timeout rounding in select 2010-08-02 16:46:12 -07:00
Emilio Pozuelo Monfort
2a50c07836 Hurd: Fix linkat symlink handling. 2010-06-02 10:25:56 -07:00
Emilio Pozuelo Monfort
67481400c5 Hurd: Fix file_name_lookup_at error case return value. 2010-04-26 09:59:30 -07:00
Carl Fredrik Hammar
199428c197 Fix Hurd tiocsctty change. 2010-02-19 11:08:00 -08:00
Carl Fredrik Hammar
951ca0c5ff Clean up Hurd TIOCSCTTY. 2010-02-17 12:41:11 -08:00
Carl Fredrik Hammar
0ea5278d33 Use ioctl_handler_t typedef in Hurd ioctl macros. 2010-02-17 11:04:30 -08:00
Samuel Thibault
e87e2f48ef Hurd: Fix possibly uninitialized variable in _hurd_locked_install_cttyid. 2009-12-22 11:51:44 -08:00
Andreas Schwab
ff6ff38db2 Remove redundant .gitignore files. 2009-05-16 10:18:34 +02:00
Jim Meyering
2e180a2622 rename each .cvsignore file to .gitignore 2009-05-15 18:13:37 +02:00
Roland McGrath
c90c1e1c99 * sysdeps/mach/hurd/Makefile (sysdep_headers) [subdir=socket]:
Add net/ethernet.h net/if_arp.h net/if_ether.h net/if_ppp.h
	net/route.h.

	* hurd/report-wait.c (describe_number): Use __stpcpy to prepend
	flavor to description only when flavor is not NULL.

	* hurd/hurdsig.c (signal_allowed): Unlock _hurd_dtable_lock
	mutex after SIGIO/SIGURG lookup loop.
2009-01-07 01:59:43 +00:00
Roland McGrath
0db58a77b4 2009-01-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
* hurd/report-wait.c (describe_number): Use __stpcpy to prepend
	flavor to description only when flavor is not NULL.
2009-01-07 01:59:26 +00:00
Roland McGrath
0cb269d71c 2008-08-26 Aurelien Jarno <aurelien@aurel32.net>
* hurd/hurd/signal.h (HURD_MSGPORT_RPC): Fix a typo.
2008-08-26 19:10:41 +00:00
Roland McGrath
1c6e82eca7 2008-08-12 Roland McGrath <roland@frob.com>
* hurd/hurd/signal.h (HURD_MSGPORT_RPC): Avoid -Wparenthesis triggers,
	in case used outside of libc.
	Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>
2008-08-13 02:39:55 +00:00
Roland McGrath
7385c04c8c * hurd/fd-read.c (_hurd_fd_read): Fix last change. 2008-07-22 20:21:19 +00:00
Roland McGrath
2e806440f9 2008-07-21 Roland McGrath <roland@frob.com>
* hurd/fd-read.c (_hurd_fd_read): Return EGRATUITOUS if the server
	returned too much data out of line.
2008-07-21 19:50:36 +00:00
Roland McGrath
d5a0160b58 * sysdeps/mach/hurd/recv.c (__recv): Initialize NPORTS.
* sysdeps/mach/hurd/recvfrom.c (__recvfrom): Likewise.
	* sysdeps/mach/hurd/recvmsg.c (__recvmsg): Likewise.
	* hurd/fd-read.c (_hurd_fd_read): Initialize NREAD.
	* hurd/get-host.c (_hurd_get_host_config): Likewise.
	* sysdeps/mach/hurd/dl-sysdep.c (__libc_read): Likewise.
2008-07-02 19:35:02 +00:00
Roland McGrath
e66ecb226e 2008-07-01 Samuel Thibault <samuel.thibault@ens-lyon.org>
* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Define MSG_NOSIGNAL.
	* hurd/hurd/fd.h (__hurd_sockfail): Add extern inline function.
	* sysdeps/mach/hurd/recv.c (__recv): Use __hurd_sockfail instead of
	__hurd_dfail.
	* sysdeps/mach/hurd/recvfrom.c (__recvfrom): Likewise
	* sysdeps/mach/hurd/recvmsg.c (__recvmsg): Likewise
	* sysdeps/mach/hurd/send.c (__send): Likewise
	* sysdeps/mach/hurd/sendfrom.c (__sendfrom): Likewise
	* sysdeps/mach/hurd/sendmsg.c (__sendmsg): Likewise
2008-07-02 09:53:29 +00:00
Roland McGrath
2b965f1b4e * hurd/hurdsig.c (_hurd_internal_post_signal): When normal rules would
ignore a signal that came from a machine exception, treat it as a
	fatal core-dump signal instead.
	Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
2008-03-08 21:47:27 +00:00
Roland McGrath
173b756d8f 2008-01-20 Samuel Thibault <samuel.thibault@ens-lyon.org>
* hurd/hurdsock.c (_hurd_socket_server): Return the standard
	error EAFNOSUPPORT rather than non-standard EPFNOSUPPORT.
	* sunrpc/bindrsvprt.c (bindresvport): Likewise.
2008-01-21 01:35:17 +00:00
Roland McGrath
3dadfa7e0c [BZ #3665, BZ #4126, BZ #4178, BZ #4610]
* hurd/getdport.c: Add missing copyright year update.
	[BZ #3665]
	[BZ #4610]
	[BZ #4178]
	[BZ #4126]
	* sysdeps/mach/hurd/sigsuspend.c (sigsuspend_not_cancel): Define alias
	to __sigsuspend.
2007-07-23 00:38:55 +00:00
Roland McGrath
626a51fd5c 2007-07-22 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/bits/fcntl.h [__USE_GNU] (O_CLOEXEC): New macro.
	* hurd/port2fd.c (_hurd_port2fd): Implement O_CLOEXEC.
2007-07-22 22:43:02 +00:00
Ulrich Drepper
50e16f8519 * bits/types.h: Don't include stddef.h, don't define __need_size_t.
* signal/signal.h <__USE_BSD || __USE_XOPEN_EXTENDED>: Define
	__need_size_t and include stddef.h.
	* sysvipc/sys/msg.h: Likewise.
	* posix/sched.h: Likewise.
	* hurd/hurd/signal.h (__need_size_t): Define.

	* CONFORMANCE: ctype.h and wctype.h no longer define size_t,
	neither does signal.h in pedantic ISO C namespaces.  stdio.h
	no longer defines wint_t or wchar_t.
2007-07-19 17:21:02 +00:00
Ulrich Drepper
b037a293a4 * configure.in (libc_cv_gnu89_inline): Test for -fgnu89-inline.
* config.make.in (gnu89-inline-CFLAGS): New variable.
	* Makeconfig (CFLAGS): Use $(gnu89-inline-CFLAGS) together with
	-std=gnu99.
	* misc/sys/cdefs.h (__extern_inline, __extern_always_inline): Define.
	* argp/argp.h: Use it.
	* bits/mathinline.h: Likewise.
	* bits/sigset.h: Likewise.
	* bits/string.h: Likewise.
	* ctype/ctype.h: Likewise.
	* hurd/hurd.h: Likewise.
	* hurd/hurd/fd.h: Likewise.
	* hurd/hurd/port.h: Likewise.
	* hurd/hurd/signal.h: Likewise.
	* hurd/hurd/threadvar.h: Likewise.
	* hurd/hurd/userlink.h: Likewise.
	* io/sys/stat.h: Likewise.
	* libio/bits/stdio.h: Likewise.
	* libio/bits/stdio2.h: Likewise.
	* mach/lock-intern.h: Likewise.
	* mach/mach/mig_support.h: Likewise.
	* math/bits/cmathcalls.h: Likewise.
	* posix/bits/unistd.h: Likewise.
	* socket/bits/socket2.h: Likewise.
	* stdlib/bits/stdlib.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/argz.h: Likewise.
	* string/bits/string2.h: Likewise.
	* string/bits/string3.h: Likewise.
	* sysdeps/alpha/fpu/bits/mathinline.h: Likewise.
	* sysdeps/generic/inttypes.h: Likewise.
	* sysdeps/generic/machine-lock.h: Likewise.
	* sysdeps/generic/machine-sp.h: Likewise.
	* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
	* sysdeps/i386/i486/bits/string.h: Likewise.
	* sysdeps/ia64/fpu/bits/mathinline.h: Likewise.
	* sysdeps/mach/alpha/machine-lock.h: Likewise.
	* sysdeps/mach/alpha/machine-sp.h: Likewise.
	* sysdeps/mach/i386/machine-lock.h: Likewise.
	* sysdeps/mach/powerpc/machine-lock.h: Likewise.
	* sysdeps/mach/powerpc/machine-sp.h: Likewise.
	* sysdeps/powerpc/fpu/bits/mathinline.h: Likewise.
	* sysdeps/s390/bits/string.h: Likewise.
	* sysdeps/s390/fpu/bits/mathinline.h: Likewise.
	* sysdeps/sparc/fpu/bits/mathinline.h: Likewise.
	* sysdeps/unix/bsd/bsd4.4/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/sigset.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/sysmacros.h: Likewise.
	* sysdeps/x86_64/fpu/bits/mathinline.h: Likewise.
	* wcsmbs/bits/wchar2.h: Likewise.
	* wcsmbs/wchar.h: Likewise.
	* stdlib/gmp.h: Likewise.  Include <features.h> to get
	__extern_inline definition.

	* locale/programs/ld-ctype.c (find_translit): Return NULL if ctype is
	NULL.
2007-03-17 17:04:28 +00:00
Roland McGrath
b4ef652a45 2006-08-02 Thomas Schwinge <tschwinge@gnu.org>
* hurd/getdport.c (__detdport): Don't return EBADF; instead set
        errno to EBADF and return MACH_PORT_NULL.
2006-08-03 01:18:36 +00:00
Roland McGrath
16a1046837 * sysdeps/mach/hurd/faccessat.c: New file.
* sysdeps/mach/hurd/fchmodat.c: New file.
	* sysdeps/mach/hurd/fchownat.c: New file.
	* sysdeps/mach/hurd/fxstatat.c: New file.
	* sysdeps/mach/hurd/fxstatat64.c: New file.
	* sysdeps/mach/hurd/linkat.c: New file.
	* sysdeps/mach/hurd/mkdirat.c: New file.
	* sysdeps/mach/hurd/openat.c: New file.
	* sysdeps/mach/hurd/openat64.c: New file.
	* sysdeps/mach/hurd/symlinkat.c: New file.
	* sysdeps/mach/hurd/unlinkat.c: New file.
	* sysdeps/mach/hurd/xmknod.c (__xmknod): Just call __xmknodat.
	Guts move to ...
	* sysdeps/mach/hurd/xmknodat.c: ... here, new file.

	* hurd/lookup-at.c: New file.
	* hurd/Makefile (routines): Add it.
	* hurd/hurd/fd.h: Declare __file_name_lookup_at,
	__file_name_split_at and __directory_name_split_at.

	* hurd/hurd/lookup.h: Declare {,__}hurd_directory_name_split.

	* hurd/hurdlookup.c (__hurd_directory_name_split): Use __memrchr
	unconditionally.

	* sysdeps/mach/hurd/open.c: Define {,__,__libc_,}open64 as aliases.
	* sysdeps/mach/hurd/open64.c: New file.
2006-03-06 07:59:23 +00:00
Roland McGrath
e0a3ed4ff9 * Makefile (subdir-target-args): New variable.
($(all-subdirs-targets)): Use it in place of -C option.
	* Rules: Use $(..) instead of ../ if it's already defined.
	* Makeconfig (subdir-srcdirs): New variable.
	* csu/Makefile (all-Banner-files): Use it.

	* configure.in (--enable-add-ons): Set to "yes" by default.
	Handle absolute add-on directory names when looking for configure
	fragments.  Also look for sysdeps/*/preconfigure fragments in add-ons.
	Require add-on configure to set $libc_add_on_canonical, use
	that in $add_ons_sfx.  Substitute add_on_subdirs with computed list
	of subdir names each add-on configure set in libc_add_on_subdirs.
	* configure: Regenerated.
	* Makefile (%/preconfigure: %/preconfigure.in): New pattern rule.
	* config.make.in (add-on-subdirs): New substituted variable.
	* Makeconfig (all-subdirs): Include $(add-on-subdirs).
	Remove $(add-ons), $(sysdep-subdirs).
	Don't filter out $(sysdep-inhibit-subdirs).
	($(common-objpfx)sysd-dirs): Target removed.  Don't include it.
	($(common-objpfx)sysd-sorted): Rewritten to feed Depend and Subdirs
	files together to gen-sorted.awk, and $(subdirs) via -v.
	(subdirs): Remove magic reordering for mach and hurd.
	* scripts/gen-sorted.awk: Use subdirs from command line.
	Process Subdirs and Depend files directly.
	Let Subdirs files use "first dir" and "inhibit dir".
	Always move elf to the end of the list.
	* hurd/Depend: New file.
	* sysdeps/mach/Subdirs: Use "first mach".

	* Makefile (dist-separate): Remove linuxthreads.
	(dist-separate-linuxthreads): Variable removed.
	(glibc-%.tar rule): Use $(sysdeps-add-ons).

	* Makerules ($(common-objpfx)Versions.v.i): Use $(subdirs),
	not $(all-subdirs).
	(sysdep-makefiles): Use $(sysdirs).
	(sysdirs): Remove export.
	($(+sysdir_pfx)sysd-rules): Handle absolute directory names in
	$(config-sysdirs).
	(+sysdir_pfx): Variable removed.
	(sysd-rules): Use $(common-objpfx) in place of it.
	(sysdirs): Variable moved to ...
	* Makeconfig (sysdirs): ... here.
	Handle absolute directory names in $(config-sysdirs).
	(full_config_sysdirs): Variable removed.
	* csu/Makefile: Use $(sysdirs) in vpath directive.
	* math/Makefile (ulps-file): Use $(sysdirs).
	* sysdeps/gnu/Makefile (errlist-c): Likewise.
	($(objpfx)errlist-compat.c): Likewise.
	* Makeconfig (all-Subdirs-files): Likewise.
	($(common-objpfx)config.status): Likewise.

	* configure.in (sysnames): Handle absolute add-on directory names.
	(sysdeps_add_ons): New variable, AC_SUBST it.
	Compute which add-ons contributed sysdeps directories.
	* configure: Regenerated.
	* config.make.in (sysdeps-add-ons): New substituted variable.
	* Makerules (+sysdep_dirs, +sysdep-includes): Variables moved ...
	* Makeconfig: ... to here.
	(+sysdep_dirs): Append $(sysdeps-add-ons) here.
	(+includes): Remove $(objpfx) include, already in $(+sysdep_dirs).
	Remove $(includes).
	(sysdep-makeconfigs): Use $(+sysdep_dirs).
	($(common-objpfx)shlib-versions.v.i): Likewise.

	* Makeconfig: Remove hair to set Makeconfig-add-on.

	* sysdeps/unix/Makefile (sysdirs): Remove export.
	(asm_CPP): Variable removed.
	($(common-objpfx)sysd-syscalls): Pass them directly for the script.

	* sysdeps/posix/Makefile: New file.
	* Makerules (L_tmpnam, TMP_MAX, L_ctermid, L_cuserid): Set non-posix
	values here with ?=.

	* stdlib/gen-mpn-copy: File removed.
	* stdlib/Makefile (distribute): Remove it.
	* configure.in: Don't grok --with-gmp.
	* configure: Regenerated.

	* configure.in (libc_cv_idn): Don't check it; libidn/configure does it.
	* configure: Regenerated.

	* bare: Directory removed, saved in ports repository.
2006-02-28 07:11:04 +00:00
Roland McGrath
c5780b5fc8 * hurd/hurd/xattr.h: New file.
* hurd/xattr.c: New file.
	* hurd/Makefile (routines): Add it.
	* sysdeps/mach/hurd/fgetxattr.c: New file.
	* sysdeps/mach/hurd/flistxattr.c: New file.
	* sysdeps/mach/hurd/fremovexattr.c: New file.
	* sysdeps/mach/hurd/fsetxattr.c: New file.
	* sysdeps/mach/hurd/getxattr.c: New file.
	* sysdeps/mach/hurd/lgetxattr.c: New file.
	* sysdeps/mach/hurd/listxattr.c: New file.
	* sysdeps/mach/hurd/lsetxattr.c: New file.
	* sysdeps/mach/hurd/removexattr.c: New file.
	* sysdeps/mach/hurd/setxattr.c: New file.
2006-02-20 22:12:40 +00:00
Roland McGrath
e9915a666d 2006-01-10 Thomas Schwinge <tschwinge@gnu.org>
* hurd/sigunwind.c: Include <jmpbuf-unwind.h> instead of <setjmp.h>.
	* sysdeps/mach/hurd/jmp-unwind.c: Likewise.
2006-01-10 19:09:01 +00:00
Roland McGrath
8ad684db49 * sysdeps/posix/libc_fatal.c (__libc_message): Add a const, a cast.
* hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Fix cast.
	* hurd/report-wait.c (_S_msg_report_wait): Likewise.

	* include/sys/xattr.h: New file.
2005-12-29 10:38:16 +00:00
Roland McGrath
d745642e91 2005-12-28 Roland McGrath <roland@redhat.com>
* hurd/sigunwind.c: Include <stdint.h>.
	* sysdeps/mach/hurd/jmp-unwind.c: Likewise.
2005-12-28 20:40:03 +00:00
Roland McGrath
db169ed561 * sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h
(PTR_MANGLE): Fix cast.

	* sysdeps/alpha/bits/setjmp.h (_JMPBUF_UNWINDS): Take third argument
	DEMANGLE, and pass SP value through it.
	* sysdeps/hppa/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/i386/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/m68k/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/mips/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/powerpc/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/s390/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/sh/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/sparc/sparc32/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* sysdeps/unix/sysv/linux/ia64/bits/setjmp.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/bits/setjmp.h: Likewise.
	* sysdeps/x86_64/bits/setjmp.h (_JMPBUF_UNWINDS): Likewise.
	* hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Pass inline
	demangler function to _JMPBUF_UNWINDS.
	* sysdeps/mach/hurd/jmp-unwind.c (demangle_ptr): New function.
	(_longjmp_unwind): Pass it to _JMPBUF_UNWINDS.
2005-12-28 05:42:30 +00:00
Roland McGrath
8f480b4bc2 * elf/cache.c: Use <> rather than "" #includes.
* elf/chroot_canon.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/ldconfig.c: Likewise.
	* elf/readlib.c: Likewise.
	* elf/rtld.c: Likewise.
	* gmon/mcount.c: Likewise.
	* hurd/hurdfault.c: Likewise.
	* hurd/hurdsig.c: Likewise.
	* hurd/report-wait.c: Likewise.
	* hurd/sigunwind.c: Likewise.
	* mach/setup-thread.c: Likewise.
	* rt/aio_read64.c: Likewise.
	* rt/aio_sigqueue.c: Likewise.
	* rt/aio_write64.c: Likewise.
	* soft-fp/soft-fp.h: Likewise.
	* stdio-common/tmpfile64.c: Likewise.
	* sysdeps/mach/hurd/fork.c: Likewise.
	* sysdeps/mach/hurd/hppa/trampoline.c: Likewise.
	* sysdeps/mach/hurd/i386/trampoline.c: Likewise.
	* sysdeps/mach/hurd/mips/trampoline.c: Likewise.
	* sysdeps/mach/hurd/powerpc/trampoline.c: Likewise.
	* sysdeps/posix/sprofil.c: Likewise.
	* sysdeps/pthread/aio_cancel.c: Likewise.
	* sysdeps/pthread/aio_fsync.c: Likewise.
	* sysdeps/pthread/aio_read64.c: Likewise.
	* sysdeps/pthread/aio_read.c: Likewise.
	* sysdeps/pthread/aio_suspend.c: Likewise.
	* sysdeps/pthread/aio_write64.c: Likewise.
	* sysdeps/pthread/aio_write.c: Likewise.
	* sysdeps/pthread/lio_listio64.c: Likewise.
	* sysdeps/pthread/lio_listio.c: Likewise.
	* sysdeps/unix/sysv/linux/aio_sigqueue.c: Likewise.
	* sysdeps/unix/sysv/tcflow.c: Likewise.
2005-12-21 22:16:34 +00:00
Ulrich Drepper
9d13fb2413 Moved to csu/errno-loc.c. 2005-12-14 15:06:39 +00:00
Roland McGrath
eff75b8d56 * hurd/hurdmalloc.c: Remove $ tag $ magic.
* mach/err_kern.sub: Likewise.
	* mach/err_server.sub: Likewise.
	* mach/err_us.sub: Likewise.
	* mach/error_compat.c: Likewise.
	* mach/errorlib.h: Likewise.
	* mach/errstring.c: Likewise.
	* mach/mach/error.h: Likewise.
	* mach/mach_error.c: Likewise.
	* mach/mach_error.h: Likewise.
	* mach/msg-destroy.c: Likewise.
	* mach/msgserver.c: Likewise.
	* sysdeps/mach/sys/reboot.h: Likewise.
2005-12-06 01:24:30 +00:00
Roland McGrath
cb1847adb5 copyright update 2005-10-23 00:55:27 +00:00
Roland McGrath
4e4c417b18 [BZ #1252]
2005-10-17  Thomas Schwinge  <tschwinge@gnu.org>
	[BZ #1252]
	* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Don't use ?: as lvalue.
	* sysdeps/mach/hurd/ioctl.c (__ioctl): Likewise.
2005-10-23 00:43:15 +00:00
Roland McGrath
f9f7fcbe47 * hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Fix a typo
in assert.
	* iconv/strtab.c (strtabfinalize): Likewise.

	* libio/iofopncook.c (_IO_cookie_seekoff): Add prototype.
2005-01-19 19:26:29 +00:00
Ulrich Drepper
a334319f65 (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4. 2004-12-22 20:10:10 +00:00
Jakub Jelinek
0ecb606cb6 2.5-18.1 2007-07-12 18:26:36 +00:00
Roland McGrath
92d6708bf8 2004-04-30 Roland McGrath <roland@frob.com>
* hurd/hurdlookup.c (__hurd_file_name_split): Return ENOENT for "".
	(__hurd_directory_name_split): Likewise.
2004-05-10 20:11:11 +00:00
Ulrich Drepper
d3a4a571c4 Update.
2004-03-10  Jakub Jelinek  <jakub@redhat.com>

	* include/libc-symbols.h [__ASSEMBLY__] (compat_text_section,
	compat_data_section): Define.
	* sysdeps/unix/sysv/linux/alpha/adjtime.c (ADJTIME): Add
	attribute_compat_text_section.
	* sysdeps/unix/sysv/linux/alpha/wordexp.c (__old_wordexp): Likewise.
	* sysdeps/unix/sysv/linux/alpha/oldglob.c (__old_glob,
	__old_globfree): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown_is_lchown):
	Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c
	(__posix_fadvise64_l32): Likewise.
	* sysdeps/unix/sysv/linux/msgctl.c (__old_msgctl): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c
	(__posix_fadvise64_l32): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/semctl.c (__old_semctl):
	Likewise.
	* sysdeps/unix/sysv/linux/semctl.c (__old_semctl): Likewise.
	* sysdeps/unix/sysv/linux/posix_fadvise64.c (__posix_fadvise64_l32):
	Likewise.
	* sysdeps/unix/sysv/linux/shmctl.c (__old_shmctl): Likewise.
	* hurd/compat-20.c (_hurd_proc_init_compat_20): Likewise.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S
	(__swapcontext, __novec_swapcontext): Use END instead of PSEUDO_END.
	(__novec_swapcontext, __swapcontext_stub): Add compat_text_section.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S
	(__makecontext_stub): Likewise.
	(__novec_makecontext): Likewise.  Fix name in END () to match
	function name.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S
	(__setcontext): Use END instead of PSEUDO_END.
	(__novec_setcontext): Add compat_text_section.  Use END instead of
	PSEUDO_END, fix the name in END () to match function name.
	* sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext.S
	(__getcontext, __novec_getcontext): Use END instead of PSEUDO_END.
	(__novec_getcontext, __getcontext_stub): Add compat_text_section.

2004-03-10  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/dl-machine.h: Don't use GL macro if not appropriate.
	(COPY_UNALIGNED_WORD): Remove cast used as lvalue.

2004-03-10  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/i386/dl-procinfo.h (HWCAP_IMPORTANT): Remove mmx, add sse2.
2004-03-10 19:28:58 +00:00
Ulrich Drepper
ec503662b4 Update.
2003-02-20  Ulrich Drepper  <drepper@redhat.com>

	* version.h (VERSION): Bump to 2.3.2.

	* elf/Makefile (distribute): Add reldep9.c, tst-array1.exp,
	tst-array2.exp, tst-array4.exp, tst-array2dep.c, check-textrel.c,
	and dl-sysdep.h.
	* sysdeps/generic/Dist: Add sysdep-cancel.h.
	* sysdeps/powerpc/nofpu/Dist: Add soft-supp.h.
	* sysdeps/unix/Dist: Add s-proto-bp.S and s-proto-cancel.S.
	* sysdeps/unix/sysv/linux/Dist: Add pathconf.h.
	* sysdeps/unix/sysv/linux/i386/Dist: Add bp-thunk.h.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Dist: Add fe_nomask.c and
	ucontext_i.h.
	* Makefile (distribute): Add include/stubs-prologue.h,
	include/gnu/stubs.h, scripts/merge-abilist.awk, and
	scripts/extract-abilist.awk.

2002-02-20  Paolo Bonzini  <bonzini@gnu.org>
2003-02-21 07:07:52 +00:00
Roland McGrath
c01ec9c73d * hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Use strtoul,
not strtol.  The former is usable in ld.so, the latter not.
2003-01-13 03:45:38 +00:00
Ulrich Drepper
a4baf360be Update.
* io/sys/stat.h [__USE_MISC]: Define __need_timespec for struct stat.
	* sysdeps/unix/sysv/linux/xstatconv.c (xstat_conv): Adjust for
	nsec resolution changes.
	(xstat64_conv): Likewise.
	(xstat32_conv): Likewise.
	* sysdeps/unix/sysv/linux/kernel_stat.h: Add nsec resolution for
	struct kernel_stat.
	* sysdeps/unix/sysv/linux/bits/stat.h: Add nsec resolution for
	structs stat and stat64.
	* time/time.h (__timespec_defined): Define for __USE_MISC.

2002-12-31  Ulrich Drepper  <drepper@redhat.com>

	* include/signal.h: Add libc_hidden_proto for __libc_current_sigrtmin
	and __libc_current_sigrtmax.

2002-12-31  Jakub Jelinek  <jakub@redhat.com>

	* include/errno.h (__errno_location): Add prototype.
	Use libc_hidden_proto unconditionally.
	* include/netdb.h (__h_errno_location): Use libc_hidden_proto
	unconditionally.
	* include/resolv.h (__res_state): Likewise.

	* hurd/errno-loc.c (__errno_location): Add libc_hidden_def.
	* include/sys/socket.h (accept): Add libc_hidden_proto.
	* include/errno.h (__errno_location): Likewise.
	* include/netdb.h (__h_errno_location): Likewise.
	* include/resolv.h (__res_state): Likewise.
	* include/unistd.h (__lseek): Likewise.
	* sysdeps/generic/errno-loc.c (__errno_location): Add libc_hidden_def.
	* sysdeps/generic/herrno-loc.c (__h_errno_location): Likewise.
	* sysdeps/generic/res-state.c (__res_state): Likewise.
	* sysdeps/generic/accept.c (accept): Likewise.
	* sysdeps/generic/lseek.c (__lseek): Likewise.
	* sysdeps/generic/allocrtsig.c (__libc_current_sigrtmin,
	__libc_current_sigrtmax): Likewise.
	* sysdeps/mach/hurd/accept.c (accept): Likewise.
	* sysdeps/mach/hurd/lseek.c (__lseek): Likewise.
	* sysdeps/unix/sysv/aix/accept.c (accept): Likewise.
	* sysdeps/unix/sysv/aix/lseek.c (__lseek): Likewise.
	* sysdeps/unix/sysv/linux/accept.S (accept): Likewise.
	* sysdeps/unix/inet/syscalls.list (__GI_accept): New alias to accept.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI_accept): Likewise.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI_accept): Likewise.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___lseek): New
	alias to llseek.
	(__GI_accept): New alias to accept.
	* sysdeps/unix/sysv/linux/mips/syscalls.list (__GI_accept): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___lseek):
	New alias to llseek.
	(__GI_accept): New alias to accept.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (__GI_accept):
	Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI_accept):
	Likewise.
	* sysdeps/unix/syscalls.list (__GI___lseek): New alias to lseek.

	* sysdeps/alpha/setjmp.S : Use libc_hidden_def(name) instead of
	strong_alias (name, __GI_name).
	* sysdeps/arm/bsd-_setjmp.S : Likewise.
	* sysdeps/hppa/bsd-_setjmp.S : Likewise.
	* sysdeps/i386/bsd-_setjmp.S : Likewise.
	* sysdeps/mips/mips64/bsd-_setjmp.S : Likewise.
	* sysdeps/mips/bsd-_setjmp.S : Likewise.
	* sysdeps/powerpc/powerpc32/bsd-_setjmp.S : Likewise.
	* sysdeps/powerpc/powerpc64/setjmp.S : Likewise.
	* sysdeps/s390/s390-32/elf/setjmp.S : Likewise.
	* sysdeps/s390/s390-32/bsd-_setjmp.S : Likewise.
	* sysdeps/s390/s390-64/elf/setjmp.S : Likewise.
	* sysdeps/s390/s390-64/bsd-_setjmp.S : Likewise.
	* sysdeps/sh/bsd-_setjmp.S : Likewise.
	* sysdeps/sparc/sparc32/setjmp.S : Likewise.
	* sysdeps/unix/arm/fork.S : Likewise.
	* sysdeps/unix/bsd/hp/m68k/vfork.S : Likewise.
	* sysdeps/unix/bsd/i386/vfork.S : Likewise.
	* sysdeps/unix/bsd/osf/alpha/fork.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/i386/fork.S : Likewise.
	* sysdeps/unix/mips/fork.S : Likewise.
	* sysdeps/unix/sparc/fork.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/fork.S : Likewise.
	* sysdeps/unix/sysv/linux/ia64/setjmp.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/sparc64/longjmp.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/setjmp.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/fork.S : Likewise.
	* sysdeps/unix/sysv/linux/sparc/vfork.S : Likewise.
	* sysdeps/unix/sysv/linux/x86_64/vfork.S : Likewise.
	* sysdeps/unix/fork.S : Likewise.
	* sysdeps/vax/bsd-_setjmp.S : Likewise.
	* sysdeps/x86_64/bsd-_setjmp.S : Likewise.

	* sysdeps/unix/sysv/linux/ia64/sysdep.h: Guard against multiple
	inclusion.
2002-12-31 20:46:11 +00:00
Roland McGrath
747bf98ea9 * elf/rtld-Rules ($(objpfx)rtld-libc.a): Use $(verbose) in ar command.
* sysdeps/mach/hurd/getresuid.c: New file.
	* sysdeps/mach/hurd/getresgid.c: New file.
	* sysdeps/mach/hurd/setresuid.c: New file.
	* sysdeps/mach/hurd/setresgid.c: New file.

	* 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.

	* hurd/errno.c: Renamed to ...
	* hurd/errno-loc.c: ... this.
	* hurd/Makefile (routines): errno -> errno-loc
2002-10-14 01:03:16 +00:00
Roland McGrath
cf684340ce * ctype/ctype.h (__ctype_b, __ctype_toupper, __ctype_tolower):
Variable declarations removed.
	(__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): Declare
	these functions to replace them.
	(__isctype, tolower, toupper, _tolower, _toupper): Use those accessor
	functions plus an indirection rather than the old global variables.
	* include/ctype.h (__isctype, tolower, _tolower, toupper, _toupper):
	Macros removed.
	(__ctype_b_loc, __ctype_toupper_loc, __ctype_tolower_loc): New extern
	inline functions.
	* ctype/ctype-info.c: Revert last reversion back the other way.
	Define tsd vars CTYPE_B, CTYPE_TOLOWER, CTYPE_TOUPPER.
	Define real function versions of include/ctype.h inlines here.
	* ctype/Versions (libc: GLIBC_2.3): Add __ctype_b_loc,
	__ctype_tolower_loc, __ctype_toupper_loc.
	* locale/lc-ctype.c: Revert last reversion back the other way.
	(_nl_postload_ctype): If current thread uses the global locale,
	update its tsd vars.
	* locale/uselocale.c (__uselocale): Update tsd vars from new locale.
	* hurd/hurd/threadvar.h (enum __hurd_threadvar_index): Add CTYPE_B,
	CTYPE_TOLOWER, CTYPE_TOUPPER.

	* sysdeps/generic/bits/libc-tsd.h (__libc_tsd_address): New macro.
	* sysdeps/mach/hurd/bits/libc-tsd.h (__libc_tsd_address): Renamed
	from __libc_tsd_threadvar_location.
	(__libc_tsd_set, __libc_tsd_get): Update uses.
2002-09-02 07:09:08 +00:00
Roland McGrath
cc13edc8d4 * sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup: doinit):
Change argument type from int to intptr_t.

	* locale/global-locale.c (__libc_tsd_LOCALE_data): Conditionalize the
	initializer on [! _HURD_THREADVAR_H] (bad kludge).
	* sysdeps/mach/hurd/i386/init-first.c (init): Initialize
	_HURD_THREADVAR_LOCALE slot to &_nl_global_locale.
	* hurd/hurdsig.c (_hurdsig_init): Likewise.  Zero other slots.
2002-08-30 01:51:11 +00:00
Roland McGrath
d387cc3fff 2002-08-26 Roland McGrath <roland@frob.com>
* hurd/hurd/threadvar.h (enum __hurd_threadvar_index): Add
	_HURD_THREADVAR_LOCALE.
2002-08-27 02:08:41 +00:00
Roland McGrath
a753ffb296 * hurd/hurdsig.c (_hurdsig_getenv): Always return null if
__libc_enable_secure is set.
2002-07-24 23:05:17 +00:00
Roland McGrath
79a479ce69 2002-06-13 Roland McGrath <roland@frob.com>
* hurd/hurdstartup.h (_hurd_startup): int -> intptr_t in MAIN arg type.
	* hurd/hurdstartup.c (_hurd_startup): Likewise.
	Use intptr_t instead of int for argc in stack layout.
	* sysdeps/mach/hurd/alpha/init-first.c (init): Fix argument type.
	(_dl_init_first): Likewise.
	(_hurd_stack_setup): Likewise.
	(init1): Add a cast.
2002-06-13 08:56:05 +00:00
Roland McGrath
337738b771 * sysdeps/mach/hurd/xstat64.c: Conditionalize entire contents of the
file on [!RTLD_STAT64].
	* sysdeps/mach/hurd/fxstat64.c: Likewise.

	* sysdeps/mach/hurd/tmpfile.c (tmpfile64): Define as alias of tmpfile.
	(__fdopen): Use INTUSE.
	* sysdeps/mach/hurd/tmpfile64.c: New file, empty placeholder.

	* stdio-common/tmpfile64.c: File removed.
	* sysdeps/generic/tmpfile64.c: New file.
	* sysdeps/generic/tmpfile.c (GEN_THIS): New macro, define to __GT_FILE
	if not already defined.
	(tmpfile): Use it in place of __GT_FILE.

	* include/unistd.h: Declare __chown_internal.

	* sysdeps/mach/hurd/sendfile64.c (sendfile64): Do real work here.
	* sysdeps/mach/hurd/sendfile.c (sendfile): Call that.

2002-06-09  Roland McGrath  <roland@frob.com>

	Update to new Hurd RPC interfaces supporting 64-bit file sizes.
	* sysdeps/mach/hurd/configure.in: Check for <hurd/version.h> with
	value of HURD_INTERFACE_VERSION >= 20020609.
	* sysdeps/mach/hurd/configure: Regenerated.
	* shlib-versions (.*-.*-gnu-gnu.*): Set libhurduser=0.3.
	* sysdeps/mach/hurd/xstatconv.c (xstat64_conv): Rewritten to
	convert a struct stat64 into a struct stat and return 0 or -1
	with errno set to EOVERFLOW.
	* sysdeps/mach/hurd/statfsconv.c (statfs64_conv): Likewise
	for struct statfs64 to struct statfs.
	* sysdeps/mach/hurd/xstat.c (__xstat): Use converter and call ...
	* sysdeps/mach/hurd/xstat64.c (__xstat64): ... this, real work here.
	* sysdeps/mach/hurd/fxstat.c (__fxstat): Likewise.
	* sysdeps/mach/hurd/fxstat64.c (__fxstat64): Likewise.
	* sysdeps/mach/hurd/lxstat.c (__lxstat): Likewise.
	* sysdeps/mach/hurd/lxstat64.c (__lxstat64): Likewise.
	* sysdeps/mach/hurd/statfs.c (__statfs): Likewise.
	* sysdeps/mach/hurd/statfs64.c (__statfs64): Likewise.
	* sysdeps/mach/hurd/fstatfs.c (__fstatfs): Likewise.
	* sysdeps/mach/hurd/fstatfs64.c (__fstatfs64): Likewise.
	* sysdeps/mach/hurd/pwrite64.c (__libc_pwrite64): Do real work here.
	* sysdeps/mach/hurd/pwrite.c (__libc_pwrite): Call that.
	* sysdeps/mach/hurd/pread64.c (__libc_pread64): Do real work here.
	* sysdeps/mach/hurd/pread.c (__libc_pread): Call that.
	* sysdeps/mach/hurd/lseek64.c (__libc_lseek64): Do real work here.
	* sysdeps/mach/hurd/lseek.c (__libc_lseek): Call that.
	* sysdeps/mach/hurd/readdir64.c (__readdir64): Do real work here.
	* sysdeps/mach/hurd/readdir.c (__readdir): Call that.
	* sysdeps/mach/hurd/readdir64_r.c (__readdir64_r): Do real work here.
	* sysdeps/mach/hurd/readdir_r.c (__readdir64_r): Call that.
	* hurd/lookup-retry.c (__hurd_file_name_lookup_retry):
	Use struct stat64 for io_stat argument.
	* sysdeps/mach/hurd/readlink.c (__readlink): Likewise.
	* hurd/fopenport.c (seekio): Remove EOVERFLOW check, pass POS directly
	to io_seek.
	* hurd/fd-read.c (_hurd_fd_read): Use loff_t for OFFSET argument.
	* hurd/fd-write.c (_hurd_fd_write): Likewise.
	* hurd/hurd/fd.h: Update decls.
	* sysdeps/mach/hurd/getcwd.c
	(_hurd_canonicalize_directory_name_internal): Use ino64_t
	and struct dirent64.
	* sysdeps/mach/hurd/dl-sysdep.c (open_file): Use struct stat64.
	(__xstat): Renamed to __xstat64, use struct stat64 for argument.
	(__fxstat): Renamed to __fxstat64, use struct stat64 for argument.
	(__lseek): Renamed to __libc_lseek64, use off64_t for argument.

2002-06-08  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/dirstream.h (struct __dirstream): Use size_t
	instead of unsigned long int for __allocation and __size members.

2002-05-19  Ulrich Drepper  <drepper@redhat.com>
2002-06-11 23:04:51 +00:00
Roland McGrath
cca6915e18 2002-05-15 Roland McGrath <roland@frob.com>
* hurd/report-wait.c (_S_msg_report_wait): Use mach_msg_id_t for arg.
2002-05-16 05:15:55 +00:00
Roland McGrath
0c981d9678 * iconv/gconv_charset.h (upstr): Add inline keyword, quiets warning.
* hurd/hurdinit.c (_hurd_init): Use internal name _hurd_new_proc_init.
2002-05-14 02:22:58 +00:00
Roland McGrath
ab7dd85bfb 2002-05-13 Marcus Brinkmann <marcus@gnu.org>
* hurd/hurdchdir.c (_hurd_change_directory_port_from_name):
        Allocate three, not two, more than LEN when appending '/.'.
        * sysdeps/mach/hurd/chroot.c (chroot): Likewise.  Don't check
        if NAME ends with '/.' if it is shorter than 2 chars.

	* mach/Makefile ($(mach-syscalls:%=$(objpfx)%.S)): Make the generated
	files #include <sysdep.h> instead of <mach/machine/syscall_sw.h>.
2002-05-13 01:48:25 +00:00
Roland McGrath
98e1c93a21 2002-05-12 Roland McGrath <roland@frob.com>
* hurd/hurdexec.c (_hurd_exec): Reauthenticate ports/dtable used in
	file_exec to effect svuid=euid, svgid=egid if that is not a no-op.
2002-05-13 01:27:28 +00:00
Roland McGrath
f6a3a75344 2002-05-08 Roland McGrath <roland@frob.com>
* hurd/hurdfchdir.c (_hurd_change_directory_port_from_fd): Use
	O_NOTRANS flag in "." lookup.
2002-05-08 22:01:27 +00:00
Roland McGrath
b62b62acf0 2002-04-23 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/send.c: int -> size_t for WROTE.
	* sysdeps/mach/hurd/sendto.c: Likewise.
	* hurd/hurdioctl.c (siocgifconf): int -> size_t for DATA_LEN.
	* sysdeps/mach/hurd/wait4.c (__wait4): natural_t -> int for SIGCODE.
	* sysdeps/mach/hurd/getpriority.c: unsigned int -> size_t for PISIZE.
2002-04-23 22:22:24 +00:00
Roland McGrath
14906e37fe 2002-04-06 Roland McGrath <roland@frob.com>
* hurd/catch-exc.c: Use integer_t instead of int.
	* hurd/hurdfault.c: Likewise.
2002-04-08 02:16:01 +00:00
Roland McGrath
db6b51ada7 * hurd/hurdselect.c (_hurd_select): Fix
MACH_MSG_TYPE_INTEGER_T -> integer_t in sizeof.
	Use a union rather than casts to compare mach_msg_type_t as int.

2002-03-25  Roland McGrath  <roland@frob.com>

	* hurd/hurdchdir.c (_hurd_change_directory_port_from_name): Don't
	check off the end of NAME when it's shorter than 2 chars.
	Reported by Ognyan Kulev <ogi@fmi.uni-sofia.bg>.

2002-03-17  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/i386/sys/io.h: New file.
	* sysdeps/mach/hurd/i386/ioperm.c: New file.
	* sysdeps/mach/hurd/i386/Dist: Add them.
	* sysdeps/mach/hurd/i386/Versions
	(libc: GLIBC_2.2.6): New set, add ioperm.
	* sysdeps/mach/configure.in: New check to set HAVE_I386_IO_PERM_MODIFY.
	(mach_interface_list): Check for mach_i386.defs.
	* config.h.in (HAVE_I386_IO_PERM_MODIFY): #undef it.
	* sysdeps/mach/configure: Regenerated.
2002-04-02 04:43:06 +00:00
Roland McGrath
96c4df5055 2002-03-25 Roland McGrath <roland@frob.com>
* hurd/hurdchdir.c (_hurd_change_directory_port_from_name): Don't
	check off the end of NAME when it's shorter than 2 chars.
	Reported by Ognyan Kulev <ogi@fmi.uni-sofia.bg>.
2002-04-02 04:41:43 +00:00
Roland McGrath
d6ecea7114 2002-03-11 Roland McGrath <roland@frob.com>
* hurd/hurd/threadvar.h: Include <features.h> for __THROW macro.
2002-03-11 21:28:37 +00:00
Roland McGrath
7d55d698b8 2002-03-11 Roland McGrath <roland@frob.com>
* Versions.def (libc): Add GLIBC_2.2.6.
	* hurd/Versions (libc: GLIBC_2.2.6): Add __errno_location.
	* sysdeps/mach/hurd/errnos.awk: In generated macro, use
	__errno_location instead of __hurd_errno_location, and don't inline it.
	* sysdeps/mach/hurd/bits/errno.h: Regenerated.
	* hurd/errno.c: New file.
	* hurd/Makefile (routines): Add errno.
2002-03-11 21:28:28 +00:00
Roland McGrath
70481be8b5 * hurd/hurdsig.c (write_corefile): Fix swapped arguments to __dir_link.
Reported by Jon Arney <jarney1@cox.net>.

2002-02-23  Roland McGrath  <roland@frob.com>

	* hurd/hurd/threadvar.h (__hurd_threadvar_location): Add __THROW to
	declaration.
	(__hurd_errno_location): Function removed.
2002-03-09 21:19:16 +00:00
Roland McGrath
2fb1a8624b 2002-02-23 Roland McGrath <roland@frob.com>
* hurd/hurd/threadvar.h (__hurd_threadvar_location): Add __THROW to
	declaration.
	(__hurd_errno_location): Function removed.
2002-03-09 21:18:45 +00:00
Roland McGrath
21297437bb * sysdeps/mach/configure.in: Check for <mach/machine/ndr_def.h>
or <machine/ndr_def.h> and add -DNDR_DEF_HEADER=... to DEFINES.
	* sysdeps/mach/configure: Regenerated.
	* mach/mach_init.c [NDR_DEF_HEADER]: #include it.

	* hurd/hurdfault.c (_hurdsig_fault_init): Add a cast.

	* hurd/hurd/signal.h: Include <setjmp.h> for `jmp_buf' decl.

	* mach/msgserver.c (__mach_msg_server_timeout) [! MACH_RCV_LARGE]:
	Double MAX_SIZE and don't retry on MACH_RCV_TOO_LARGE.

	* sysdeps/mach/hurd/times.c
	[NO_CREATION_TIME] (startup_time): New static variable.
	[NO_CREATION_TIME] (times_init): New static function in __libc_subinit.
	(__times) [NO_CREATION_TIME]: Use startup_time in lieu of task
	creation_time from task_basic_info.
	(__times): Use __gettimeofday instead of __host_get_time.

	* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg) [! MACH_MSG_TYPE_BIT]:
	Use untyped Mach IPC message format.

	* hurd/catch-exc.c: Include <assert.h>, missing from last change.
2002-02-18 20:57:51 +00:00
Roland McGrath
9ce8b3c817 * hurd/Versions (libc: GLIBC_2.0): Add _S_catch_exception_raise_state,
_S_catch_exception_raise_state_identity,
	_hurdsig_fault_catch_exception_raise_state,
	_hurdsig_fault_catch_exception_raise_state_identity.

	* mach/shortcut.awk: Don't apply the /^}$/ rule when $proto == "".

	* sysdeps/mach/getsysstats.c (__get_avphys_pages) [HOST_VM_INFO]: Use
	__host_info with HOST_VM_INFO flavor instead of __vm_statistics.

	* sysdeps/mach/hurd/getpriority.c [TASK_SCHED_TIMESHARE_INFO]: Find
	`base_priority' in PIP->timeshare_base_info instead of PIP->taskinfo.

	* sysdeps/mach/hurd/dl-sysdep.c [FMH]: Define for i386 only.
	(fmh, unfmh): Define these functions only #if FMH.  Otherwise define
	them as no-op macros.
	[FMH] (ELF_MACHINE_USER_ADDRESS_MASK): Redefine it to zero.
	(__mmap): Uncomment uses of ELF_MACHINE_USER_ADDRESS_MASK.

	* sysdeps/powerpc/dl-machine.h
	(ELF_MACHINE_USER_ADDRESS_MASK): New macro.
2002-02-18 01:50:52 +00:00
Roland McGrath
f22a77e1db * hurd/hurdselect.c (_hurd_select) [MACH_MSG_TRAILER_MINIMUM_SIZE]:
Use untyped Mach IPC message format.

	* sysdeps/mach/hurd/ioctl.c (__ioctl) [! MACH_MSG_TYPE_BIT]: Handle
	Handle untyped Mach IPC message formats.

	* hurd/catch-exc.c (_S_catch_exception_raise) [EXC_MASK_ALL]:
	Expect different argument conventions when this is defined.
	[EXC_MASK_ALL] (_S_catch_exception_raise_state): New stub function.
	[EXC_MASK_ALL] (_S_catch_exception_raise_state_identity): Likewise.
	* hurd/hurdfault.c: Likewise for _hurdsig_fault_catch_exception_*.
	[NDR_CHAR_ASCII] (mig_reply_header_t): #define as mig_reply_error_t
	for OSF Mach variant.
	(faulted): Use mig_reply_error_t for REPLY.
	(_hurdsig_fault_init) [EXC_MASK_ALL]: Use EXCEPTION_STATE_IDENTITY
	in __thread_set_exception_ports call.
	(_hurdsig_fault_init) [MACH_PORT_RECEIVE_STATUS]: Use
	__mach_port_set_attributes in place of __mach_port_set_qlimit.

	* sysdeps/mach/powerpc/sysdep.h (_MACH_MACHINE_ASM_H): Define this
	before include <sysdeps/mach/sysdep.h>, to inhibit <mach/machine/asm.h>
	on Darwin, which includes bogons.
2002-02-17 22:54:39 +00:00
Roland McGrath
61c83c3f05 * sysdeps/mach/configure.in: Add some checks for Mach headers
to ensure a sane installation.
	(mach_interface_list): Define this variable by checking for .defs
	files found in various variants.
	* configure.in (mach_interface_list): AC_SUBST this.
	* config.make.in (mach-interface-list): New substituted variable.
	* mach/Makefile (user-interfaces): Define this using the value
	of $(mach-interface-list) instead of mach, mach4.
	Updated other references to mach_interface to use it as well.

	* sysdeps/mach/powerpc/machine-lock.h: Avoid multi-line strings.

	* mach/msgserver.c [NDR_CHAR_ASCII] (mig_reply_header_t): #define as
	mig_reply_error_t for OSF Mach variant.

	* mach/Makefile (routines): Remove bootprivport.
	* mach/bootprivport.c: File removed.  It has never been used.

	* mach/msg-destroy.c (__mach_msg_destroy) [MACH_MSG_PORT_DESCRIPTOR]:
	Grok the OSF flavor of message format.
	(mach_msg_destroy_port): For MAKE_SEND and
	MAKE_SEND_ONCE rights, create an destroy a right to ensure proper
	no-senders notification.

2002-02-06  Roland McGrath  <roland@frob.com>

	* hurd/Versions (libc: GLIBC_2.0): Move cthread_fork, cthread_detach
	to here if 2.0 compatibility enabled ...
	(libc: GLIBC_2.1.3): ... from here.
2002-02-17 07:19:11 +00:00
Roland McGrath
044edf6d01 (_hurd_internal_post_signal): typo 2002-01-02 10:54:54 +00:00
Roland McGrath
05dea6d10c * sysdeps/mach/hurd/sigwait.c (__sigwait): Use __sigandset,
__sigisemptyset.  Don't use MASK uninitialized.

	* sysdeps/mach/hurd/sigprocmask.c (__sigprocmask): Use __sigorset.
	* hurd/hurdinit.c (_hurd_new_proc_init): Use __sigisemptyset.
	* hurd/hurdsig.c (_hurd_internal_post_signal): Use __sigismember,
	__sigdelset, __sigaddset, __sigorset.
2002-01-02 10:52:56 +00:00
Roland McGrath
7595ddb8f9 * hurd/hurdinit.c (_hurd_ports_use): Return error _hurd_ports is null.
* hurd/hurdsig.c (_hurdsig_init): Conditionalize exception port setup
	for old CMU and new OSF Mach interface flavors.
	* hurd/hurdfault.c (_hurdsig_fault_init): Likewise.
	* sysdeps/mach/hurd/fork.c (__fork): Likewise.

	* hurd/hurdsig.c (_hurd_internal_post_signal): Leave msgh_seqno unset.

	* sysdeps/mach/hurd/spawni.c (__spawni) [KERN_INVALID_LEDGER]:
	Pass extra arguments to task_create for OSF variant.
	* sysdeps/mach/hurd/fork.c (__fork): Likewise.
2002-01-02 10:23:33 +00:00
Roland McGrath
f58f41f1f4 * sysdeps/powerpc/elf/libc-start.c: Make AUXVEC diddling code
conditional on [HAVE_AUX_VECTOR].

	* mach/mach/mach_traps.h (thread_switch, __thread_switch): Use
	mach_msg_timeout_t as type of final argument.

	* hurd/privports.c (__get_privileged_ports):
	Change host_priv_t to mach_port_t in argument type.
	* hurd/hurd.h (get_privileged_ports, __get_privileged_ports):
	Update decls.

	* sysdeps/mach/hurd/i386/bits/sigcontext.h: Protect from
	multiple inclusion.  Inhibit #error under [_SYS_UCONTEXT_H].
	* sysdeps/mach/hurd/alpha/bits/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/hppa/bits/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/mips/bits/sigcontext.h: Likewise.
	* sysdeps/mach/hurd/powerpc/bits/sigcontext.h: Likewise.
2002-01-02 09:52:33 +00:00
Roland McGrath
a5eb7027b9 * hurd/Versions (libc: GLIBC_2.2.5): Add _hurd_port_set,
_hurd_port_init, and __hurd_self_sigstate.
2001-12-22 20:52:21 +00:00
Roland McGrath
bb2660079c 2001-12-22 Roland McGrath <roland@frob.com>
* mach/Versions (libc: GLIBC_2.2.5): Add mig_strncpy.
	* hurd/Versions (libc: GLIBC_2.2.5): Add _hurd_port_set
	and __hurd_self_sigstate.
2001-12-22 20:20:57 +00:00
Roland McGrath
ca18306b75 * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Add `break' after
`default:' to silence new GCC warning.
	Rewrite cast of lvalue to silence new GCC warning.

	* sysdeps/mach/hurd/i386/init-first.c: Avoid multi-line strings in asm.
2001-12-17 01:03:08 +00:00
Roland McGrath
4f904363e4 * hurd/hurd.h (__hurd_fail): Add `break;' to silence new gcc-3 warning.
Reported by Jeff Bailey <jbailey@nisa.net>.

	Reported by Jeff Bailey <jbailey@nisa.net>.
2001-12-02 19:45:22 +00:00
Roland McGrath
5ca3ec06e0 * hurd/hurd.h (_hurd_umask): Remove volatile qualifier from decl. 2001-12-02 19:43:55 +00:00
Roland McGrath
27114e2046 * stdio-common/tmpfile.c: Moved to ...
* sysdeps/generic/tmpfile.c: ... here.
	* sysdeps/mach/hurd/tmpfile.c: New file.

	* hurd/fopenport.c (__fopenport): Renamed from fopenport.
	[USE_IN_LIBIO] (fopencookie): #define as _IO_fopencookie.
	(fopenport): Define as weak alias.

	* libio/iofopncook.c (_IO_fopencookie): Move forward declaration ...
	* libio/libioP.h: ... to here.
2001-11-13 10:07:33 +00:00
Roland McGrath
377f22d8ec 2001-11-09 Roland McGrath <roland@frob.com>
* hurd/privports.c (__get_privileged_ports):
	Only contact the proc server if necessary for this call.
	Suggested by Neal H Walfield <neal@cs.uml.edu>.
	Check error return for mach_port_mod_refs.
2001-11-10 00:11:33 +00:00
Roland McGrath
0bfb44417d 2001-11-04 Roland McGrath <roland@frob.com>
* hurd/set-host.c (_hurd_set_host_config): Use O_WRONLY in flags
	parameter to dir_mkfile.
2001-11-04 10:31:13 +00:00
Roland McGrath
80081a0a88 2001-10-28 Roland McGrath <roland@frob.com>
* hurd/hurdselect.c (_hurd_select): Check SELECT_RETURNED bit when
	packing results for a `poll' call.
2001-10-28 22:10:26 +00:00
Ulrich Drepper
9596d0ddf0 Update.
2001-09-18  Ulrich Drepper  <drepper@redhat.com>

	* malloc/malloc.c (ptmalloc_init): Handle _environ==NULL.
	Reported by B. D. Elliott <bde@nwlink.com> [PR libc/2541].

2001-09-18  Andreas Schwab  <schwab@suse.de>

	* elf/dl-load.c (_dl_map_object_from_fd): Update handling of scope
	list, now that l_scope is a pointer.

	* elf/dl-open.c (dl_open_worker): Fix thinko when enlarging the
	scope list.

2001-09-18  kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* sysdeps/sh/dl-machine.h (elf_machine_rela): Fix reverse condition.
	(elf_machine_rela_relative): Add a missing declaration.

2001-09-18  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/ia64/ldd-rewrite.sed: New.
	* sysdeps/unix/sysv/linux/s390/ldd-rewrite.sed: New.
	* sysdeps/unix/sysv/linux/configure.in: Add ia64 and s390
	ldd-rewrite scripts.

2001-09-18  Ulrich Drepper  <drepper@redhat.com>

	* elf/ldd.bash.in: Update copyright message.

2001-09-17  H.J. Lu  <hjl@gnu.org>

	* hurd/hurdmalloc.c (bcopy): Removed.
	(realloc): Replace bcopy with memcpy.
	* hurd/path-lookup.c (file_name_path_scan): Likewise.
	* resolv/gethnamaddr.c (map_v4v6_address): Likewise.
	* sunrpc/rpcinfo.c (pmapdump): Likewise.

	* resolv/gethnamaddr.c (getanswer): Replace bcopy with memmove.
	(gethostbyaddr): Likewise.
	* sunrpc/rpcinfo.c (get_inet_address): Likewise.

2001-09-18  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/gnu/eval.c: Removed.
2001-09-19 03:25:37 +00:00
Roland McGrath
f0b1a6c876 * hurd/Versions (libc: GLIBC_2.2.5): New set; add _hurd_raise_signal,
_hurdsig_interrupt_timeout, _hurdsig_fault_preemptor.

	* sysdeps/posix/shm_unlink.c (shm_unlink): __unlink -> unlink.

	* mach/Versions (libc: GLIBC_2.2.5): New set; add __mach_msg_destroy,
	__mach_reply_port.
2001-08-24 21:47:53 +00:00
Roland McGrath
3220cade24 2001-08-20 Roland McGrath <roland@frob.com>
* hurd/hurdlookup.c (__hurd_file_name_lookup): Fail with ENOENT for "".
	(__hurd_file_name_split, __hurd_directory_name_split): Likewise.
2001-08-22 23:12:51 +00:00
Roland McGrath
0b32ff01b8 2001-08-21 Roland McGrath <roland@frob.com>
* hurd/Versions (GLIBC_2.2.5): New set, define __hurd_fail here.
	* Versions.def (libc): Add GLIBC_2.2.5 set.
	* hurd/hurd.h (_HURD_H_EXTERN_INLINE): New macro.
	(__hurd_fail): Use that instead of _EXTERN_INLINE in decl.
2001-08-21 20:32:21 +00:00
Roland McGrath
5c7665dc18 2001-08-12 Roland McGrath <roland@frob.com>
* hurd/hurdlookup.c (__hurd_file_name_lookup): Comment fix.
2001-08-12 22:02:11 +00:00
Mark Kettenis
ac61ed310d * hurd/hurdsig.c (_hurd_internal_post_signal): Fix handling of SA_RESETHAND and SA_NODEFER.
2001-07-26  Mark Kettenis  <kettenis@gnu.org>

	* hurd/hurdsig.c (_hurd_internal_post_signal): Fix handling of
	SA_RESETHAND and SA_NODEFER.
2001-07-27 08:50:55 +00:00
Roland McGrath
760b705623 2001-07-24 Igor Khavkine <i_khavki@alcor.concordia.ca>
* hurd/hurdsig.c (_hurdsig_init): Fix incorrect initialization
        of pending signals.
2001-07-24 04:59:07 +00:00
Roland McGrath
5d83494fad 2001-07-22 Roland McGrath <roland@frob.com>
* hurd/hurdsig.c (_hurd_internal_post_signal): Support SA_RESETHAND
	and SA_NODEFER options.  Spurred to action by Igor Khavkine.
2001-07-23 07:19:20 +00:00
Roland McGrath
e8bceaee41 2001-07-11 Igor Khavkine <i_khavki@alcor.concordia.ca>
* hurd/hurdsig.c (_hurdsig_init): Remove a useless line of code.
2001-07-07  Roland McGrath  <roland@frob.com>

	* hurd/hurdsig.c (_hurd_thread_sigstate): Use MACH_PORT_NULL, not 0.
2001-07-11 21:15:50 +00:00
Andreas Jaeger
41bdb6e20c Update to LGPL v2.1.
2001-07-06  Paul Eggert  <eggert@twinsun.com>

	* manual/argp.texi: Remove ignored LGPL copyright notice; it's
	not appropriate for documentation anyway.
	* manual/libc-texinfo.sh: "Library General Public License" ->
	"Lesser General Public License".

2001-07-06  Andreas Jaeger  <aj@suse.de>

	* All files under GPL/LGPL version 2: Place under LGPL version
	2.1.
2001-07-06 04:58:11 +00:00
Roland McGrath
90f9eba7d2 * hurd/hurdsig.c (_hurd_internal_post_signal): For SS->suspended
wakeup message, use MACH_MSG_TYPE_MAKE_SEND for the receiver port
	rather than doing a mach_port_insert_right call first.
2001-07-04 23:07:03 +00:00
Roland McGrath
f41c998d4a 2001-06-26 Roland McGrath <roland@frob.com>
* hurd/hurdioctl.c: Include <string.h> for memcpy decl.
2001-07-04 22:57:50 +00:00
Mark Kettenis
7facfddd0d * hurd/Makefile (user-interfaces): Add pfinet. * hurd/hurdioctl.c: Include <hurd/pfinet.h>, <net/if.h> and <netinet/in.h>. (siocgifconf): New function. Register it with HURD_HANDLE_IOCTL as the handler for SIOCGIFCONF. * sysdeps/mach/hurd/bits/ioctls.h: Modify SIOCSIFFLAGS and SIOCGIFFLAGS to be of IOC type ifreq_short. Modify SIOCSIFMETRIC and SIOCGIFMETRIC to be of IOC type ifreq_int. Add new macro definitions for SIOCGIFMTU, SIOCSIFMTU, SIOCGIFINDEX and SIOCGIFNAME. From Marcus Brunkmann <marcus@gnu.org>.
2001-06-26  Mark Kettenis  <kettenis@gnu.org>

	* hurd/Makefile (user-interfaces): Add pfinet.
	* hurd/hurdioctl.c: Include <hurd/pfinet.h>, <net/if.h> and
	<netinet/in.h>.
	(siocgifconf): New function.  Register it with HURD_HANDLE_IOCTL
	as the handler for SIOCGIFCONF.
	* sysdeps/mach/hurd/bits/ioctls.h: Modify SIOCSIFFLAGS and
	SIOCGIFFLAGS to be of IOC type ifreq_short.  Modify SIOCSIFMETRIC
	and SIOCGIFMETRIC to be of IOC type ifreq_int.  Add new macro
	definitions for SIOCGIFMTU, SIOCSIFMTU, SIOCGIFINDEX and
	SIOCGIFNAME.
	From Marcus Brunkmann <marcus@gnu.org>.
2001-06-26 10:21:56 +00:00
Roland McGrath
7d409f11b0 2001-06-18 Roland McGrath <roland@frob.com>
* hurd/hurd/fd.h (_hurd_fd_error_signal): Change return type to int.
2001-06-22 08:39:39 +00:00
Roland McGrath
5fe915ee12 * hurd/Makefile (routines): Add lookup-retry.
* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Broken out ...
	* hurd/lookup-retry.c: ... into here, new file.
	* sysdeps/mach/hurd/dl-sysdep.c (open_file): Call that instead
	using of duplicate code here.

	* hurd/hurdexec.c (_hurd_exec): Be robust for DTABLESIZE==0.

	* posix/regex.c: Avoid an access violation if malloc fails.
2001-06-17 21:09:28 +00:00
Roland McGrath
21bc421fb0 2001-06-16 Roland McGrath <roland@frob.com>
* hurd/hurdexec.c (_hurd_exec): Be robust for DTABLESIZE==0.
2001-06-17 21:08:08 +00:00
Mark Kettenis
fecb794f59 * hurd/hurd/threadvar.h: Add prototype for __hurd_errno_location.
2001-06-10  Mark Kettenis  <kettenis@gnu.org>

	* hurd/hurd/threadvar.h: Add prototype for __hurd_errno_location.
2001-06-10 21:05:36 +00:00
Roland McGrath
a500fbcd53 2001-05-19 Roland McGrath <roland@frob.com>
* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Don't leak the
	result port when failing with ELOOP.  Do the ELOOP check when
	following an absolute symlink target as well as relative.
	Remove #ifdef SYMLOOP_MAX conditional--it should always be defined.
2001-05-20 02:27:44 +00:00
Roland McGrath
5017b2c845 * hurd/privports.c (__get_privileged_ports): Renamed with __.
Use __ names for calls we make.
	(get_privileged_ports): Add alias.
	* hurd/hurd.h: Declare it with the __ name.
	* sysdeps/mach/hurd/reboot.c (reboot): Use __get_privileged_ports.
	* sysdeps/mach/hurd/adjtime.c (__adjtime): Likewise.
	* sysdeps/mach/hurd/settimeofday.c (__settimeofday): Likewise.
2001-04-19 22:53:58 +00:00
Roland McGrath
79c236ac12 2001-04-19 Roland McGrath <roland@frob.com>
* hurd/hurdsig.c (write_corefile): Check RLIMIT_CORE limit and do
	nothing if it's zero.
2001-04-19 22:08:27 +00:00
Roland McGrath
8a0746ae74 * sysdeps/mach/hurd/Makefile ($(link-rpcuserlibs)): Don't append
options after $(build-module), which is no longer a single command.
	(LDFLAGS-link-rpcuserlibs): New variable to hold those options.
	(LDFLAGS-libmachuser-link.so, LDFLAGS-libhurduser-link.so): New
	variables using it.  Reported by Mark Kettenis <kettenis@gnu.org>.

2001-03-11  Roland McGrath  <roland@frob.com>

	* elf/rtld.c (dl_main): Add cast to quiet warning.
	* elf/dl-load.c (_dl_map_object_from_fd): Likewise.
	* iconv/gconv_conf.c (__gconv_get_path): Likewise.
	(__gconv_read_conf): Likewise.
	* iconv/gconv_db.c (gen_steps): Likewise.
	(__gconv_find_transform): Likewise.
	* locale/programs/charmap-dir.c (fopen_uncompressed): Likewise.
	(fopen_uncompressed): Use const in second argument's type.

2001-03-11  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/dl-sysdep.c (__writev): New function.

	* mach/mach_error.h: Fix ancient #endif syntax.
	* hurd/hurdmalloc.c: Likewise.

	* sysdeps/generic/atomicity.h (exchange_and_add, atomic_add,
	compare_and_swap): Add volatile qualifier to first arg, to bring
	these prototypes in line with all the other implementations.
	Add a #warning to remind the builder that these are not atomic.

2001-03-04  Roland McGrath  <roland@frob.com>

	* hurd/vpprintf.c (vpprintf) [USE_IN_LIBIO]: Use innermore first
	member of TEMP_F so its type is _IO_FILE * as expected.

	* hurd/fopenport.c (seekio): Conditionalize type of POS argument
	on [USE_IN_LIBIO].  Check the value for overflow, since for libio
	it might exceed off_t's range.

2001-02-25  Roland McGrath  <roland@frob.com>

	* sysdeps/mach/hurd/sysd-stdio.c (__stdio_reopen): Use prototype.
	* sysdeps/unix/bsd/getpt.c (__posix_openpt): Likewise.

	* sysdeps/mach/hurd/i386/intr-msg.h (SYSCALL_EXAMINE): Make this a
	macro instead of an inline function,
	(MSG_EXAMINE): Likewise.

	* hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS_1): Remove extraneous ##.

	* hurd/get-host.c: Include <string.h> for decls of built-ins.
	* hurd/hurdchdir.c: Likewise.
	* sysdeps/mach/hurd/i386/sigreturn.c: Likweise.
	* sysdeps/mach/hurd/opendir.c: Likewise.

	* mach/mach_init.c: Include <unistd.h> for _exit decl.

	* mach/errsystems.awk: Give output file a trailing newline.

	* mach/Machrules (MIG): Prepend CC='${CC}' to the mig command, so that
	the script will use our compiler for the cpp stage.

	With --enable-all-warnings we get a whole bunch of warnings,
	and these are just a few fixes; there are more needed to silence it.
	* mach/mach/mig_support.h (__mig_strncpy, mig_strncpy): Add extern
	decls before extern inline defns to quiet gcc warning.
	* hurd/hurd/threadvar.h (__hurd_threadvar_location_from_sp): Likewise.
	* sysdeps/mach/i386/machine-sp.h (__thread_stack_pointer): Likewise.
2001-04-01 05:04:31 +00:00
Ulrich Drepper
f1e4a4a403 Update.
* sunrpc/Makefile (routines): Add rpc_thread.
	(CPPFLAGS): Add -D_RPC_THREAD_SAFE.
	* sunrpc/rpc_thread.c: New file.
	* sunrpc/Versions [libc] (GLIBC_2.2.3): Export __rpc_thread_destroy.
	* sunrpc/auth_none.c: Don't use global variables.  Access state in
	thread-local storage.
	* sunrpc/clnt_perr.c: Likewise.
	* sunrpc/clnt_raw.c: Likewise.
	* sunrpc/clnt_simp.c: Likewise.
	* sunrpc/key_call.c: Likewise.
	* sunrpc/rpc_common.c: Likewise.
	* sunrpc/svc.c: Likewise.
	* sunrpc/svc_raw.c: Likewise.
	* sunrpc/svc_simple.c: Likewise.
	* sunrpc/svcauth_des.c: Likewise.
	* hurd/hurd/threadvar.h (enum __hurd_threadvar_index): Add
	_HURD_THREADVAR_RPC_VARS.
	* sysdeps/generic/bits/libc-tsd.h: Mention _LIBC_TSD_KEY_RPC_VARS.
	* include/rpc/rpc.h: Define data structures for internal thread-local
	"global" variables.
	Based on patches by Eric Norum <eric.norum@usask.ca>.
2001-03-20 18:35:13 +00:00
Mark Kettenis
99f1b15bd1 * hurd/hurdsig.c (_hurdsig_getenv): Remove spurious innermost declaration of value such that we actually return the value of the environment variable.
2001-01-24  Mark Kettenis  <kettenis@gnu.org>

	* hurd/hurdsig.c (_hurdsig_getenv): Remove spurious innermost
	declaration of value such that we actually return the value of the
	environment variable.
2001-01-24 11:19:56 +00:00
Mark Kettenis
db11c38c4d * sysdeps/mach/hurd/chroot.c (chroot): Revert 1999-02-27 changes, but change looking up the initial directory port in a similar way as done by _hurd_change_directory_port_from_name. * hurd/fchroot.c (fchroot): Likewise.
2001-01-19  Mark Kettenis  <kettenis@gnu.org>

	* sysdeps/mach/hurd/chroot.c (chroot): Revert 1999-02-27 changes,
	but change looking up the initial directory port in a similar way
	as done by _hurd_change_directory_port_from_name.
	* hurd/fchroot.c (fchroot): Likewise.
2001-01-19 09:37:23 +00:00
Roland McGrath
72f841d535 2000-11-30 Roland McGrath <roland@frob.com>
* hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS_1): New macro.
	(_HURD_HANDLE_IOCTLS, _HURD_HANDLE_IOCTL): Redefine using it, so as to
	allow multiple instances using the same function name in one file.
2000-12-01 23:50:27 +00:00
Roland McGrath
8c65460904 2000-11-13 Roland McGrath <roland@frob.com>
* hurd/get-host.c (_hurd_get_host_config): Fix last change.
2000-11-13 21:31:17 +00:00
Mark Kettenis
fbfdeab348 * hurd/get-host.c (_hurd_get_host_config): Fix possible buffer underrun and make sure the result is null terminated even if there is no trailing newline.
2000-11-13  Marcus Brinkmann <marcus@gnu.org>

	* hurd/get-host.c (_hurd_get_host_config): Fix possible buffer
	underrun and make sure the result is null terminated even if there
	is no trailing newline.
2000-11-13 20:15:25 +00:00
Mark Kettenis
64659255c7 * hurd/hurdsig.c: Rearrange headers a bit. (_hurdsig_init): Block until _hurd_msgport_thread is initialized when cthreads is being used.
2000-08-22  Mark Kettenis  <kettenis@gnu.org>

	* hurd/hurdsig.c: Rearrange headers a bit.
	(_hurdsig_init): Block until _hurd_msgport_thread is initialized
	when cthreads is being used.
2000-08-22 19:31:27 +00:00