* wcsmbs/wchar.h: mbsnrtowcs, open_wmemstream, wcpcpy, wcpncpy,
wcscasecmp, wcsdup, wcsncasecmp, wcsnlen, wcsnrtombs,
wcscasecmp_l, wcsncasecmp_l, wcscoll_l, and wcsxfrm_l.
* sysdeps/mach/hurd/bits/posix_opt.h: Reset value of macros from
200112L to 200809L.
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
* posix/getconf.c (vars): Add _SC_THREAD_ROBUST_PRIO_INHERIT and
_SC_THREAD_ROBUST_PRIO_PROTECT entries.
* bits/confname.h: Add _SC_THREAD_ROBUST_PRIO_INHERIT and
_SC_THREAD_ROBUST_PRIO_PROTECT.
* posix/unistd.h: fexecve is in POSIX 2008.
* time/time.h: strftime_l is in POSIX 2008.
* io/sys/stat.h: futimens is in POSIX 2008.
* string/strings.h: strcasecmp_l and strncasecmp_l are in POSIX 2008.
* string/string.h: stpcpy, stpncpy, strndup, strnlen, strsignal,
strcoll_l, strerror_l, and strxfrm_l are in POSIX 2008.
* stdlib/stdlib.h: mkdtemp is in POSIX 2008.
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.
* sysdeps/mach/hurd/open.c: Include <stdio.h>.
(__open_2): New function.
(__open64_2): New alias to __open_2.
* sysdeps/mach/hurd/openat.c: Include <stdio.h>.
(__openat_2): New function.
(__openat64_2): New alias to __openat_2.
* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
Clear DF bit in thread state's eflags.
Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
* iconv/gconv_cache.c (__gconv_lookup_cache): Return __GCONV_NULCONV
if from and to charsets are the same.
* iconv/gconv_db.c (__gconv_find_transform): Likewise.
* intl/dcigettext.c (_nl_find_msg): Return NULL even if __gconv_open
returns __GCONV_NOCONV, but not for __GCONV_NULCONV.
2007-07-17 Jakub Jelinek <jakub@redhat.com>
* wcsmbs/wchar.h: Only define wint_t if __need_wint_t.
Don't define wint_t when __need_mbstate_t unless it
is necessary.
(__mbstate_t): Use __WINT_TYPE__ rather than wint_t
in the typedef if possible.
* wctype/wctype.h (wint_t): Define by including
wchar.h with __need_wint_t instead of including stddef.h
with __need_wint_t and as fallback definining it ourselves.
* iconv/gconv.h (__need_wint_t): Define before including
wchar.h.
* sysdeps/gnu/_G_config.h: Don't include gconv.h if not _LIBC
or _GLIBCPP_USE_WCHAR_T.
(__need_wchar_t): Don't define
if not _LIBC or _GLIBCPP_USE_WCHAR_T.
(__need_wint_t): Don't define before including stddef.h,
define before including wchar.h only if _LIBC or
_GLIBCPP_USE_WCHAR_T.
(_G_iconv_t): Don't define if not _LIBC or _GLIBCPP_USE_WCHAR_T.
* sysdeps/mach/hurd/_G_config.h: Likewise.
* sysdeps/generic/_G_config.h: Likewise.
* libio/libio.h (__wunderflow, __wuflow, __woverflow): Only
prototype if _LIBC or _GLIBCPP_USE_WCHAR_T.
(_IO_getwc_unlocked, _IO_putwc_unlocked): Only define
if _LIBC or _GLIBCPP_USE_WCHAR_T.
* sysdeps/mach/hurd/sigaction.c (__sigaction): Check ACT != NULL before
reading A.
* sysdeps/mach/hurd/sigsuspend.c (sigsuspend_not_cancel): Define alias
to __sigsuspend.
* sysdeps/mach/i386/sysdep.h: Include <dl-sysdep.h> and <tls.h>.
2006-06-13 Thomas Schwinge <tschwinge@gnu.org>
* sysdeps/mach/hurd/tls.h: Change `ASSEMBLER' conditional to
`__ASSEMBLER__'.
* sysdeps/mach/hurd/i386/tls.h: Likewise.
* 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.
rather than #ifdef _POSIX_FOO for options. We should return -1
at runtime for an option defined to 0 at compile time.
* sysdeps/mach/hurd/bits/posix_opt.h: Define many missing options,
many to -1 or 0.
2006-03-05 Roland McGrath <roland@redhat.com>
* sysdeps/unix/sysv/linux/sysconf.c (__sysconf)
[__NR_clock_getres || HP_TIMING_AVAIL]: Handle _SC_CPUTIME,
_SC_THREAD_CPUTIME.
2006-01-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
[BZ #2178]
* sysdeps/mach/hurd/getsid.c (getsid): When parameter PID is zero,
use _hurd_pid instead.
* 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.
2005-10-22 Roland McGrath <roland@redhat.com>
[BZ #1254]
* sysdeps/mach/hurd/getpeername.c (__getpeername): Fix last change.
From Samuel Thibault <samuel.thibault@ens-lyon.org>.
2005-08-05 Alfred M. Szmidt <ams@gnu.org>
[BZ #1252]
* sysdeps/mach/hurd/setitimer.c (restart_itimer): Move static fn
forward decl out of function body.
* sysdeps/mach/hurd/profil.c: Likewise.
[BZ #1249]
* sysdeps/mach/hurd/getpeername.c (__getpeername): Respect *LEN
byte limit when setting ADDR->sa_family.
Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
2005-10-16 Roland McGrath <roland@frob.com>
[BZ #1253]
* sysdeps/mach/hurd/i386/init-first.c (init): Make cast kosher.
(_hurd_stack_setup): Don't declare with arguments and ellipsis.
Use __builtin_frame_address and __builtin_return_address.
(_dl_init_first): Likewise.
* sysdeps/mach/hurd/i386/init-first.c (_cthread_init_routine): Declare
as weak extern.
(init): Check for it being undefined.
(dtv_t): Change pointer type to be a struct which also contains
information whether the memory pointed to is static TLS or not.
* sysdeps/generic/syslog.c (send_flags) [!send_flags]: Define it.
* shadow/sgetspent_r.c (FALSE): Macro renamed to ...
(FALSEP): ... this. Updated all references.
* libio/fmemopen.c: Include <stdint.h>.
* sysdeps/mach/hurd/i386/tls.h (TLS_INIT_TP_EXPENSIVE): New macro.
(INSTALL_NEW_DTV, THREAD_DTV): Rewritten to fetch the right word.
(THREAD_SELF): New macro.
clobber the `ebp' register.
* sysdeps/mach/hurd/i386/Makefile (CFLAGS-init-first.c): Removed.
Reverts change from 2004-05-07 by Jeroen Dekkers.
* sysdeps/mach/hurd/i386/init-first.c (init): Changed the type of
NEWSP from `void *' to `int *'. Changed all casts accordingly.
2004-06-30 Ulrich Drepper <drepper@redhat.com>
* include/net/if.h: Handle if_nameindex and if_freenameindex with
libc_proto_hidden.
* sysdeps/unix/sysv/linux/netlinkaccess.h: New file.
* sysdeps/unix/sysv/linux/ifaddrs.c: Export netlink handling functions.
* sysdeps/unix/sysv/linux/if_index.c (if_nameindex): Implement using
netlink if possible. Fall back on ioctl method if necessary.
* include/unistd.h: Declare __truncate.
* sysdeps/generic/truncate.c: Also define __truncate.
* sysdeps/mach/hurd/truncate.c: Likewise.
* sysdeps/unix/common/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/truncate64.c: Use __truncate, not truncate.
2003-09-27 Wolfram Gloger <wg@malloc.de>
* malloc/malloc.c: Include <malloc-machine.h> earlier instead of
"thread-m.h", so that default parameters can be overridden in a
system-specific malloc-machine.h. Remove extra ; from extern "C"
closing brace.
* sysdeps/generic/malloc-machine.h: New file.
* sysdeps/mach/hurd/malloc-machine.h: New file.
* malloc/thread-m.h: Removed.
* malloc/Makefile: Remove CFLAGS-malloc.c parameter addition, it
is in sysdeps/generic/malloc-machine.h now.
* elf/dl-reloc.c (_dl_allocate_static_tls): Move definition of
variables only used if TLS_TCB_AT_TP is defined into the #if
branch.
2003-09-28 Alfred M. Szmidt <ams@kemisten.nu>
* sysdeps/mach/hurd/bits/libc-lock.h (__libc_cleanup_pop):
Redefine and use __libc_cleanup_region_end instead.
2003-09-29 Thorsten Kukuk <kukuk@suse.de>
* sysdeps/unix/sysv/linux/sys/sysmacros.h: Use __inline and
fix prototypes for picky C++ compilers.
2003-09-04 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/mmap.c (__mmap): If io_map fails with MIG_BAD_ID,
EOPNOTSUPP, or ENOSYS, change it to ENODEV.
2003-02-25 Roland McGrath <roland@redhat.com>
* sysdeps/powerpc/powerpc64/dl-machine.h: Support new TLS relocs.
* sysdeps/powerpc/powerpc64/dl-tls.h: New file.
* malloc/thread-freeres.c: New file.
* malloc/Makefile (aux): Add it.
* sunrpc/Versions (GLIBC_PRIVATE): Removed.
* sunrpc/rpc_thread.c (__rpc_thread_destroy): Put in special section
"__libc_thread_freeres_fn" and add to __libc_thread_subfreeres set.
* sysdeps/unix/sysv/linux/i386/geteuid.c (__geteuid): Typo fix.
* sysdeps/unix/sysv/linux/i386/getgid.c (__getgid): Typo fix.
2003-02-21 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/opendir.c (__opendir): Use O_NONBLOCK in open.
* iconvdata/Makefile (tests): Add bug-iconv3 only if
[$(have-thread-library) = yes].
* sysdeps/mach/Makefile (mach-before-compile rule): Pass generating=t,
use target mach-before-compile instead of generated.
(mach-before-compile): New target.
* Makerules: Disable use of tls.make if $(generating) is set.
* mach/Makefile: Include mach-syscalls.mk even if no_deps=t.
* sysdeps/mach/hurd/Makefile: Make generated hurd headers depend on
mach-shortcuts.h so mach/ generation happens before hurd/.
Check for the result overflowing off_t and fail with EOVERFLOW.
* libio/ioftell.c (_IO_ftell): Likewise.
* libio/iofgetpos.c (_IO_new_fgetpos): Likewise.
* login/logwtmp.c (logwtmp): If sizeof ut_tv != sizeof struct timeval,
use a temporary timeval on the stack for gettimeofday and copy it.
* login/logout.c (logout): Likewise.
Reported by Steven Munroe <sjmunroe@us.ibm.com>.
* sysdeps/unix/sysv/linux/bits/statfs.h (struct statfs):
Use __SWORD_TYPE instead of int for member types.
(struct statfs64): Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/statfs.h: New file.
* sysdeps/unix/sysv/linux/s390/bits/statfs.h: New file.
* sysdeps/unix/sysv/linux/ia64/bits/statfs.h: File removed.
* sysdeps/unix/sysv/linux/sparc/bits/statfs.h: File removed.
* sysdeps/unix/sysv/linux/x86_64/bits/statfs.h: File removed.
* sysdeps/unix/sysv/linux/sparc/bits/statvfs.h: Moved to ...
* sysdeps/unix/sysv/linux/bits/statvfs.h: ... here.
(ST_NODIRATIME): Restore fixed value of 2048.
* sysdeps/unix/sysv/linux/alpha/bits/statvfs.h: File removed.
* sysdeps/unix/sysv/linux/ia64/bits/statvfs.h: File removed.
Rearranged <bits/types.h> definitions to reduce duplication.
* sysdeps/generic/bits/types.h: Rewritten, using macros from
<bits/wordsize.h> and new header <bits/typesizes.h>.
* posix/Makefile (headers): Add bits/typesizes.h here.
* sysdeps/generic/bits/typesizes.h: New file.
* sysdeps/unix/sysv/linux/alpha/bits/typesizes.h: New file.
* sysdeps/unix/sysv/linux/sparc/bits/typesizes.h: New file.
* sysdeps/mach/hurd/bits/typesizes.h: New file.
* sysdeps/unix/sysv/linux/alpha/bits/types.h: File removed.
* sysdeps/unix/sysv/linux/bits/types.h: File removed.
* sysdeps/unix/sysv/linux/ia64/bits/types.h: File removed.
* sysdeps/unix/sysv/linux/mips/bits/types.h: File removed.
* sysdeps/unix/sysv/linux/s390/bits/types.h: File removed.
* sysdeps/unix/sysv/linux/sparc/bits/types.h: File removed.
* sysdeps/unix/sysv/linux/x86_64/bits/types.h: File removed.
* posix/sys/types.h [__USE_POSIX199506 || __USE_UNIX98]: Include
<bits/pthreadtypes.h> here, not in <bits/types.h>.
* signal/signal.h: Likewise.
* streams/stropts.h: Include <bits/xtitypes.h>.
* streams/Makefile (headers): Add bits/xtitypes.h here.
* sysdeps/generic/bits/xtitypes.h: New file.
* sysdeps/s390/bits/xtitypes.h: New file.
* sysdeps/ia64/bits/xtitypes.h: New file.
* sysdeps/x86_64/bits/xtitypes.h: New file.
* sysvipc/Makefile (headers): Add bits/ipctypes.h here.
* sysdeps/generic/bits/ipctypes.h: New file.
* sysdeps/mips/bits/ipctypes.h: New file.
* sysdeps/gnu/bits/shm.h: Include <bits/ipctypes.h>.
* sysdeps/gnu/bits/msq.h: Likewise.
* sysvipc/sys/ipc.h: Likewise.
2002-10-22 Roland McGrath <roland@redhat.com>
* sysdeps/generic/libc-tls.c (_dl_tls_static_used): New variable.
* sysdeps/generic/ldsodefs.h (struct rtld_global): New member
`_dl_tls_static_used'.
(TLS_STATIC_MIN): New macro.
* elf/dl-reloc.c [USE_TLS] (allocate_static_tls): New function.
(CHECK_STATIC_TLS): Use it.
sysdeps/unix/sysv/linux/i386/bits/time.h file. All the following
files were identical except for the absence of CLOCK_THREAD_CPUTIME_ID
and CLOCK_PROCESS_CPUTIME_ID in .../linux/bits/time.h; adding these
macros is ok even for architectures that don't now implement them.
* sysdeps/mach/hurd/bits/time.h: File removed.
* sysdeps/unix/sysv/linux/bits/time.h: File removed.
* sysdeps/unix/sysv/linux/i386/bits/time.h: File removed.
* sysdeps/unix/sysv/linux/ia64/bits/time.h: File removed.
* sysdeps/unix/sysv/linux/sparc/bits/time.h: File removed.
* sysdeps/unix/sysv/linux/x86_64/bits/time.h: File removed.
changed from [USE_TLS && HAVE___THREAD].
* sysdeps/i386/dl-machine.h (elf_machine_type_class, elf_machine_rel):
Disable TLS relocs if [RTLD_BOOTSTRAP && !USE___THREAD].
* sysdeps/x86_64/dl-machine.h
(elf_machine_type_class, elf_machine_rela): Likewise.
* sysdeps/sh/dl-machine.h (elf_machine_type_class, elf_machine_rela):
Likewise.
* include/link.h (struct link_map): Remove member l_tls_tp_initialized.
* elf/rtld.c (_dl_start_final, dl_main): Don't use it.
(_dl_start): Conditionalize PT_TLS check on [USE___THREAD].
* sysdeps/i386/dl-tls.h (__TLS_GET_ADDR): Use ___tls_get_addr_internal
instead of ___tls_get_addr.
(___tls_get_addr_internal): Add attribute_hidden to decl.
* sysdeps/generic/ldsodefs.h (struct rtld_global): New variable
_dl_error_catch_tsd.
* elf/rtld.c (startup_error_tsd): New function.
(dl_main): Point _dl_error_catch_tsd at that.
* elf/dl-error.c: Don't use libc-tsd.h for DL_ERROR,
use new function pointer instead.
* elf/dl-tsd.c: New file.
* elf/Makefile (routines): Add it.
2002-10-07 Roland McGrath <roland@redhat.com>
* elf/dl-misc.c (_dl_debug_vdprintf): Use INTERNAL_SYSCALL macro for
writev if it's available. Otherwise if [RTLD_PRIVATE_ERRNO] then
take _dl_load_lock around calling __writev.
* sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL): New macro.
(INLINE_SYSCALL): Use that.
* sysdeps/generic/dl-sysdep.h: New file.
* sysdeps/mach/hurd/dl-sysdep.h: New file.
* sysdeps/generic/ldsodefs.h: Include <dl-sysdep.h>.
* include/errno.h [IS_IN_rtld]: Include <dl-sysdep.h> to define ...
[RTLD_PRIVATE_ERRNO]: Use a hidden global variable for errno and
access it directly.
* elf/dl-minimal.c (__errno_location): Removed.
* sysdeps/unix/i386/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
Use GOTOFF access for errno.
* sysdeps/unix/sysv/linux/i386/sysdep.h
[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.
* sysdeps/unix/x86_64/sysdep.S (__syscall_errno) [RTLD_PRIVATE_ERRNO]:
Use PC-relative access for errno.
* sysdeps/unix/sysv/linux/x86_64/sysdep.h
[RTLD_PRIVATE_ERRNO] (SYSCALL_ERROR_HANDLER): Likewise.
* include/tls.h: New file.
(USE___THREAD): New macro.
Define to 1 under [USE_TLS && HAVE___THREAD] and only when compiling
libc or libpthread.
* sysdeps/unix/sysv/linux/i386/sysdep.h [USE___THREAD]: Conditional
changed from [USE_TLS && HAVE___THREAD].
* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
* sysdeps/unix/i386/sysdep.S: Likewise.
* sysdeps/unix/x86_64/sysdep.S: Likewise.
* include/errno.h: Likewise.
* include/netdb.h: Likewise.
* include/resolv.h: Likewise.
* sysdeps/generic/errno.c: New file.
* csu/Makefile (aux): New variable, list errno.
* sysdeps/unix/sysv/linux/i386/sysdep.S (errno, _errno): Remove defns.
* sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/arm/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/cris/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/hppa/sysdep.c: Likewise.
* sysdeps/unix/sysv/linux/ia64/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/powerpc/sysdep.c: Likewise.
* sysdeps/unix/sysv/linux/sparc/sysdep.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sysdep.S: Likewise.
* sysdeps/unix/alpha/sysdep.S: Likewise.
* sysdeps/generic/start.c: Likewise.
* sysdeps/unix/start.c: Likewise.
* sysdeps/unix/arm/start.c: Likewise.
* sysdeps/unix/bsd/ultrix4/mips/start.S: Likewise.
* sysdeps/unix/sparc/start.c: Likewise.
* sysdeps/unix/sysv/irix4/start.c: Likewise.
* sysdeps/unix/sysv/linux/mips/sysdep.S: File removed.
* manual/search.texi (Tree Search Function, Hash Search Function):
Mention search.h clearly.
2002-10-05 Roland McGrath <roland@redhat.com>
* elf/dl-fxstat64.c: File removed.
* elf/dl-xstat64.c: File removed.
* elf/Makefile (rtld-routines): Remove them.
* sysdeps/unix/sysv/linux/xstat64.c: Remove RTLD_STAT64 conditionals.
Instead, use strong_alias instead of versioned_symbol in the
!SHLIB_COMPAT case.
* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
* sysdeps/unix/sysv/linux/lxstat64.c: Likewise.
* include/shlib-compat.h
(SHLIB_COMPAT): Require that IS_IN_##lib be defined nonzero.
[! NOT_IN_libc] (IS_IN_libc): Define it.
* cppflags-iterator.mk (CPPFLAGS-$(cpp-src)): Use -Dx=1 not just -Dx.
* elf/Makefile (CPPFLAGS-.os): Likewise.
* sunrpc/rpc_main.c (main): Don't declare with noreturn attribute.
Return the status instead of calling exit.
* Makeconfig (CFLAGS): Prepend -std=gnu99.
* Makerules (+make-deps): Use $(CFLAGS) only for .c sources.
Remove superfluous rm command, whose @ plus make bugs hid
all these commands from the make output.
* include/stubs-prologue.h: New file. Give #error under #ifdef _LIBC.
* Makefile ($(inst_includedir)/gnu/stubs.h): Depend on it.
Use that file's contents instead of literal echo's for the prologue.
* include/features.h: Include <gnu/stubs.h> unconditionally.
* include/gnu/stubs.h: New file.
2002-09-30 Roland McGrath <roland@redhat.com>
* elf/rtld-Rules: New file.
* elf/Makefile ($(objpfx)librtld.map, $(objpfx)librtld.mk,
$(objpfx)rtld-libc.a): New targets.
(generated): Add them.
(reloc-link): Remove -o $@ from the variable.
($(objpfx)dl-allobjs.os): Add -o $@ after $(reloc-link).
(distribute): Add rtld-Rules.
(CPPFLAGS-.os): Define this instead of CFLAGS-.os.
* Makerules ($(+sysdir_pfx)sysd-rules): Emit rules for rtld-% targets.
(common-mostlyclean, common-clean): Clean up rtld-* files.
* sysdeps/unix/make-syscalls.sh: Add rtld-*.os target name to rules.
just return &_nl_C_locobj instead of copying it.
* locale/freelocale.c (__freelocale): Check for &_nl_C_locobj.
* locale/duplocale.c (__duplocale): Likewise.
2002-10-07 Roland McGrath <roland@frob.com>
* config.h.in (HAVE_I386_SET_GDT): New #undef.
* sysdeps/mach/configure.in: Define it with new check for i386_set_gdt.
* sysdeps/mach/configure: Regenerated.
2002-10-06 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h (INLINE_SYSCALL):
Add all necessary register outputs for syscall-clobbered registers.
2002-10-02 David Mosberger <davidm@hpl.hp.com>
* sysdeps/ia64/bzero.S: Rewritten by Sverre Jarp to tune for
Itanium 2 (and Itanium).
Fix unwind directives and make it fit in 80 columns.
* sysdeps/ia64/memset.S: Ditto.
* sysdeps/ia64/memcpy.S: Ditto.
Move jump table to .rodata section.
2002-10-03 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/i386/init-first.c (_hurd_stack_setup): Add
clobbers to asm.
* sysdeps/unix/sysv/linux/ifreq.h (__if_nextreq): New function.
* sysdeps/mach/hurd/ifreq.h (__if_nextreq): New function.
* sysdeps/gnu/ifaddrs.c (getifaddrs): Use __if_nextreq
for iterating through the list of interfaces.
* resolv/res_hconf.c (_res_hconf_reorder_addrs): Likewise.
* sysdeps/unix/grantpt.c (pts_name): Set errno when __ptsname_r fails.
Reported by Bruno Haible <bruno@clisp.org>.
* sysdeps/mach/hurd/_exit.c: Add libc_hidden_def.
* sysdeps/generic/_exit.c: Likewise.
2002-09-12 Jakub Jelinek <jakub@redhat.com>
* elf/rtld.c (struct dl_start_final_info): New.
(_dl_start_final): Change second argument to struct
dl_start_final_info *. Set start_time from info.
(_dl_start): Remove bootstrap_map variable, add info.
Define bootstrap_map as macro. If not DONT_USE_BOOTSTRAP_MAP,
store HP_TIMING_NOW result into info.start_time.
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.
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.
* sysdeps/mach/hurd/pwrite64.c: No libc_hidden_def (__libc_pwrite64).
* sysdeps/mach/hurd/dl-sysdep.c (__GI_abort): Define alias for abort.
* include/assert.h (__assert_perror_fail): Declare it, do hidden_proto.
* assert/assert-perr.c: Add libc_hidden_def.
* elf/dl-minimal.c [! NDEBUG] (__assert_perror_fail): New function.
* sysdeps/gnu/errlist-compat.awk: Don't fail if there are no versions
found at all.
* sysdeps/gnu/Versions: File removed. Moved all #errlist-compat
sys_errlist stuff to ...
* sysdeps/unix/sysv/linux/Versions: ... here.
* mach/mach.h: Include <features.h>.
* sysdeps/mach/hurd/bits/errno.h: Regenerated.
* sysdeps/gnu/Versions: New file.
* sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.1): Remove
_sys_errlist; sys_errlist; _sys_nerr; sys_nerr; from here.
* sysdeps/gnu/Makefile ($(..)sysdeps/gnu/errlist-compat.c): New target.
($(objpfx)errlist.d): Depend on $(..)sysdeps/gnu/errlist-compat.c.
* sysdeps/gnu/errlist.awk: Make output define _sys_errlist_internal
and _sys_nerr_internal instead of anything else. Make it include
"errlist-compat.c" if [!NOT_IN_libc && !ERRLIST_NO_COMPAT].
Make it emit some asm magic if [EMIT_ERR_MAX].
* sysdeps/gnu/errlist.c: Regenerated.
* sysdeps/gnu/errlist-compat.awk: New file.
* sysdeps/gnu/errlist-compat.c: New file (generated).
* sysdeps/mach/hurd/errlist.c (ERRLIST_NO_COMPAT): New macro.
(_sys_errlist_internal): Define this as a macro for _hurd_errlist.
(_sys_nerr_internal): Define this is a macro for _hurd_nerr.
(SYS_ERRLIST, SYS_NERR): Macros removed.
(sys_nerr, _sys_nerr): Remove these weak aliases.
* sysdeps/unix/sysv/linux/errlist.c: File removed.
* sysdeps/unix/sysv/linux/errlist.h: File removed.
* sysdeps/unix/sysv/linux/arm/errlist.c: File removed.
* include/libc-symbols.h (declare_symbol): New macro.
* config.h.in (ASM_TYPE_DIRECTIVE_PREFIX): New #undef.
* configure.in: New check to define it.
* configure: Regenerated.
* sysdeps/gnu/Versions: New file.
* sysdeps/unix/sysv/linux/Versions (libc: GLIBC_2.1): Remove
_sys_errlist; sys_errlist; _sys_nerr; sys_nerr; from here.
* sysdeps/gnu/Makefile ($(..)sysdeps/gnu/errlist-compat.c): New target.
($(objpfx)errlist.d): Depend on $(..)sysdeps/gnu/errlist-compat.c.
* sysdeps/gnu/errlist.awk: Make output define _sys_errlist_internal
and _sys_nerr_internal instead of anything else. Make it include
"errlist-compat.c" if [!NOT_IN_libc && !ERRLIST_NO_COMPAT].
Make it emit some asm magic if [EMIT_ERR_MAX].
* sysdeps/gnu/errlist.c: Regenerated.
* sysdeps/gnu/errlist-compat.awk: New file.
* sysdeps/gnu/errlist-compat.c: New file (generated).
* sysdeps/mach/hurd/errlist.c (ERRLIST_NO_COMPAT): New macro.
(_sys_errlist_internal): Define this as a macro for _hurd_errlist.
(_sys_nerr_internal): Define this is a macro for _hurd_nerr.
(SYS_ERRLIST, SYS_NERR): Macros removed.
(sys_nerr, _sys_nerr): Remove these weak aliases.
* sysdeps/unix/sysv/linux/errlist.c: File removed.
* sysdeps/unix/sysv/linux/errlist.h: File removed.
* sysdeps/unix/sysv/linux/arm/errlist.c: File removed.
This implementation supports only IPv4.
* inet/ifaddrs.h: New file.
* sysdeps/generic/ifaddrs.c: New file.
* sysdeps/gnu/ifaddrs.c: New file.
* inet/test-ifaddrs.c: New file.
* inet/Makefile (routines): Add ifaddrs.
(headers): Add ifaddrs.h here.
(tests): Add test-ifaddrs.
* inet/Versions (GLIBC_2.3): New set, add getifaddrs and freeifaddrs.
* resolv/res_hconf.c (_res_hconf_reorder_addrs): Use an explicit
socket call to get an AF_INET socket, instead of using __opensock.
The SIOCGIFNETMASK ioctl will work only with a PF_INET socket.
* sysdeps/generic/ifreq.h (__ifreq): Take third argument SOCKFD,
if not -1 use it instead of calling __opensock.
* sysdeps/unix/sysv/linux/ifreq.h (__ifreq): Likewise.
* sysdeps/mach/hurd/ifreq.h (__ifreq): Take new argument and ignore it.
* resolv/res_hconf.c (_res_hconf_reorder_addrs): Pass new argument.
* sysdeps/mach/hurd/ifreq.h: New file.
* sysdeps/generic/ifreq.h (__if_freereq): Take second argument NUM_IFS.
* sysdeps/unix/sysv/linux/ifreq.h (__if_freereq): Likewise.
* resolv/res_hconf.c (_res_hconf_reorder_addrs): Update caller.
* 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.
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-01 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/alpha/init-first.c: New file, modified from
i386/init-first.c by Andrew M. Miklic <miklic@attglobal.net>.
2002-05-26 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/ioctl.c (__ioctl): Don't use sizeof in _IOTS.
Use integer_t instead of int for IOC_VOID case.
* 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>.
and use INTDEF on it.
* sysdeps/mach/hurd/fcntl.c: Use INTDEF2.
* sysdeps/mach/hurd/dl-sysdep.c (errno): New variable.
* sysdeps/mach/hurd/alpha/static-start.S: New file (unfinished).
* 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.
* include/sys/socket.h: Declare __libc_sa_len_internal and define
SA_LEN macro to use it if not NOT_IN_libc.
* sysdeps/unix/sysv/linux/sa_len.c: Use INTDEF for __libc_sa_len.
* include/fcntl.h: Declare __open_internal and define __open and
__libc_open macros if not NOT_IN_libc.
* sysdeps/generic/open.c: Use INTDEF for __open.
* sysdeps/mach/hurd/open.c: Likewise.
* sysdeps/unix/sysv/aix/open.c: Likewise.
* sysdeps/unix/syscalls.list: Add __open_internal alias.
* sysdeps/generic/check_fds.c: Make sure newly opened file descriptor
has correct number.
* include/fcntl.h: Define __libc_fcntl macro if not NOT_IN_libc.
* sysdeps/mach/hurd/fcntl.c: Undefine __libc_fcntl as well.
* sysdeps/unix/sysv/aix/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
* include/wctype.h: Declare __iswalpha_l_internal,
__iswdigit_l_internal, __iswspace_l_internal,
__iswxdigit_l_internal, and __iswctype_internal. Define
__iswalpha_l, __iswctype, __iswdigit_l, __iswspace_l, and
__iswxdigit_l macros if not NOT_IN_libc.
* wctype/iswctype.c: Use INTDEF for __iswctype.
* wctype/wcfuncs_l.c: Use INTDEF for all __iswXXX_l.
* sysdeps/mach/hurd/chown.c: Use INTDEF for __chown.
* sysdeps/unix/sysv/aix/chown.c: Likewise.
* sysdeps/unix/grantpt.c: Use INTUSE for __chown calls.
* sysdeps/unix/sysv/linux/m68k/chown.c: Likewise.
* sysdeps/unix/sysv/linux/powerpc/chown.c: Likewise.
* sysdeps/unix/sysv/linux/i386/chown.c: Use INTDEF2 to define
__chown_internal.
* sysdeps/unix/sysv/linux/s390/s390-32//chown.c: Likewise.
* intl/dcngettext.c [_LIBC]: Use INTUSE for __dcngettext.
* intl/dngettext.c [_LIBC] (DCNGETTEXT): Use INTUSE.
* intl/ngettext.c: Likewise.
* include/sys/socket.h: Declare __connect_internal and define
__connect macro if not NOT_IN_libc.
* sysdeps/mach/hurd/connect.c: Use INTDEF for __connect.
* sysdeps/unix/sysv/aix/connect.c: Likewise.
* sysdeps/unix/sysv/linux/connect.S: Add __connect_internal alias.
* include/unistd.h: Declare __close_internal and define __close macro
if not NOT_IN_libc.
* libio/libioP.h (JUMO0, JUMP1, JUMP2, JUMP3, WJUMP0, WJUMP1, WJUMP2,
WJUMP3): Add extra parenthesis to avoid expanding element names with
macors like __close.
* sysdeps/unix/syscalls.list: Add __close_internal alias.
* include/unistd.h: Declare __dup2_internal and define __dup2 macro
if not NOT_IN_libc.
* sysdeps/mach/hurd/dup2.c: Use INTDEF for __dup2.
* sysdeps/posix/dup2.c: Use INTDEF for __dup2.
* sysdeps/unix/syscalls.list: Add __dup2_internal alias.
* include/unistd.h: Declare __fork_internal and define __fork macro
if not NOT_IN_libc.
* sysdeps/mach/hurd/fork.c: Use INTDEF for __fork.
* sysdeps/unix/sysv/aix/fork.c: Likewise.
* sysdeps/unix/sysv/linux/syscalls.list: Add __fork_internal alias.
* include/stdio_ext.h: Declare __fsetlocking_internal and define
__fsetlocking macro to use it if not NOT_IN_libc.
* libio/__fsetlocking.c: Use INTDEF for __fsetlocking.
* libio/__fbufsize.c: Correct copyright.
* libio/__flbf.c: Likewise.
* libio/__fpending.c: Likewise.
* libio/__fpurge.c: Likewise.
* libio/__freadable.c: Likewise.
* libio/__freading.c: Likewise.
* libio/__fsetlocking.c: Likewise.
* libio/__fwritable.c: Likewise.
* libio/__fwriting.c: Likewise.
* include/stdio.h: Declare __asprintf_internal and define __asprintf
macro to use it if not NOT_IN_libc.
* stdio-common/asprintf.c: Use INTDEF for __asprintf.
* include/mntent.h: Declare __setmntent_internal,
__getmntent_r_internal, __endmntent_internal. Define __setmntent,
__getmntent_r, and __endmntent macros to use these functions if not
NOT_IN_libc.
* misc/mntent_r.c: Use INTDEF for __setmntent, __getmntent_r, and
__endmntent.
* include/math.h: Declare __finite_internal, __finitef_internal, and
__finitel_internal. Redefine isfinite macro if in libc or libm using
these functions.
* sysdeps/generic/s_ldexp.c: Use INTUSE for __finite calls.
* sysdeps/generic/s_ldexpf.c: Use INTUSE for __finitef calls.
* sysdeps/generic/s_ldexpl.c: Use INTUSE for __finitel calls.
* sysdeps/i386/fpu/s_finite.S: Define _internal alias.
* sysdeps/i386/fpu/s_finitef.S: Likewise.
* sysdeps/i386/fpu/s_finitel.S: Likewise.
* sysdeps/ieee754/dbl-64/s_finite.c: Likewise.
* sysdeps/ieee754/flt-32/s_finitef.c: Likewise.
* sysdeps/ieee754/ldbl-128/s_finitel.c: Likewise.
* sysdeps/ieee754/ldbl-96/s_finitel.c: Likewise.
* include/fcntl.h: Declare __fcntl_internal. Define __fcntl macro
to use this function if not NOT_IN_libc.
* libio/iofdopen.c (_IO_fcntl): Use INTUSE.
* sysdeps/generic/fcntl.c: Use INTDEF for __fcntl.
* sysdeps/mach/hurd/fcntl.c: Likewise.
* sysdeps/unix/sysv/aix/fcntl.c: Likewise.
* sysdeps/unix/sysv/linux/i386/fcntl.c: Likewise.
* include/argz.h: Declare __argz_count_internal and
__argz_stringify_internal.
* intl/l10nflist.c [_LIBC]: Use INTUSE for __argz_count and
__argz_stringify.
* string/argz-count.c: Use INTDEF for __argz_count.
* string/argz-stringify.c: Use INTDEF for __argz_stringify.
* include/stdlib.h: Declare __cxa_atexit_internal and define
__cxa_atexit macro if not NOT_IN_libc.
* stdlib/cxa_atexit.c: Use INTDEF for __cxa_atexit.
* dlfcn/Makefile: Define NOT_IN_libc when compiling modcxaatexit.c.
* assert/assert.c: Use INTDEF for __assert_fail.
* assert/__assert.c: Use INTUSE for call to __assert_fail.
* include/assert.h: Declare __assert_fail_internal.
<mach/machine/alpha_instruction.h>.
(_hurd_setup_sighandler): Take proper arguments for current decls.
Update code to use _hurdsig_catch_fault.
Use `callsys' instruction instead of `call_pal'.
* sysdeps/mach/hurd/alpha/intr-msg.h: New file.
* sysdeps/mach/alpha/sysdep.h: Include <mach/alpha/asm.h>.
(ALIGN, at, AT, fp): New macros.
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.
* sysdeps/mach/hurd/setpriority.c [POLICY_TIMESHARE_BASE_COUNT]:
Use task_policy in place of task_priority.
* sysdeps/generic/bits/mman.h
(MS_ASYNC, MS_SYNC, MS_INVALIDATE): New macros.
* sysdeps/mach/msync.c: New file.
* sysdeps/mach/powerpc/syscall.S: New file.
* mach/msg.c [MACH_MSG_OVERWRITE]
(__mach_msg_trap, __mach_msg_overwrite): New functions.
* mach/Versions (libc: GLIBC_2.0): Add mach_msg_overwrite and __ name.
* sysdeps/mach/configure.in: Check for clock.defs to put into
mach_interface_list.
* sysdeps/mach/configure: Regenerated.
* mach/Makefile (mach-machine): New variable, set from $(base-machine).
($(objpfx)mach-syscalls.mk): Use it in place of $(base-machine).
($(mach-syscalls:%=$(objpfx)%.S) static pattern rule):
Use <mach/machine/syscall_sw.h> instead of <sysdep.h>.
(mach-shortcuts): Add device_read_overwrite_request,
device_read_overwrite, vm_read_overwrite, thread_switch.
* configure.in (base_machine): Set to $machine by default.
* configure: Regenerated.
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.
_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.
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.
* config.h.in (HAVE_MIG_RETCODE): New #undef.
* sysdeps/mach/hurd/configure.in (hurd_MIG_RETCODE: New macro
swiped from hurd package's aclocal.m4; use it to set HAVE_MIG_RETCODE.
* sysdeps/mach/hurd/configure: Regenerated.
check only (SS->pending & MASK) for the signal to return.
From Jeroen Dekkers <jeroen@dekkers.cx>.
* iconv/skeleton.c [!RESET_INPUT_BUFFER && !SAVE_RESET_STATE]:
Use preprocessor #if conditionals instead of `if' to avoid
warnings about divide by zero in dead code.
`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.
* sysdeps/mach/hurd/configure.in (libc_cv_gcc_unwind_find_fde):
Fix conditionals so this is set by default for stdio and not for libio.
* sysdeps/mach/hurd/configure: Regenerated.
* NEWS: Mention it.
* sysdeps/mach/hurd/powerpc/exc2signal.c: New file.
* sysdeps/mach/hurd/powerpc/init-first.c: New file.
* sysdeps/mach/hurd/powerpc/intr-msg.h: New file.
* sysdeps/mach/hurd/powerpc/longjmp-ts.c: New file.
* sysdeps/mach/hurd/powerpc/register-dump.h: New file.
* sysdeps/mach/hurd/powerpc/sigreturn.c: New file.
* sysdeps/mach/hurd/powerpc/static-start.S: New file.
* sysdeps/mach/hurd/powerpc/trampoline.c: New file.
* sysdeps/mach/hurd/powerpc/bits/sigcontext.h: New file.
* sysdeps/mach/hurd/powerpc/Dist: New file.
* sysdeps/mach/powerpc/machine-sp.h: New file.
* sysdeps/mach/powerpc/sysdep.h: New file.
* sysdeps/mach/powerpc/thread_state.h: New file.
* sysdeps/mach/hurd/i386/Makefile: File removed; crt0.o rules moved ...
* sysdeps/mach/hurd/Makefile: ... to here. For the time being, we can
expect to need the same thing on every platform.
* sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h: File moved ...
* sysdeps/generic/sys/ucontext.h: ... to replace this one.
* sysdeps/mach/hurd/Makefile: Add $(CFLAGS) for generation of
bits/errno.h
2001-10-07 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/setrlimit.c (__setrlimit): Never return ENOSYS.
sysdeps/mach version. Implement counting ("recursive") mutexes
on top of cthreads mutexes.
* sysdeps/mach/hurd/bits/stdio-lock.h: File removed; generic now works.
* sysdeps/generic/bits/stdio-lock.h (_IO_lock_initializer): Define to
_LIBC_LOCK_RECURSIVE_INITIALIZER if defined, else do an #error.
(__libc_cleanup_region_start, __libc_cleanup_region_end,
__libc_clean_end): Define these to call the cleanup function after
normal exit when they're supposed to.
* sysdeps/mach/bits/libc-lock.h (__libc_cleanup_region_start):
Take new first arg DOIT, a boolean saying whether to really install
any cleanup handler.
(__libc_cleanup_region_end): Do nothing if start's DOIT arg was zero.
(__libc_cleanup_end): Likewise.
* stdio-common/vfscanf.c (LOCK_STREAM): Pass new arg.
* stdio-common/vfprintf.c (buffered_vfprintf, vfprintf): Likewise.
* sysdeps/mach/hurd/bits/stdio-lock.h (_IO_cleanup_region_start):
Likewise.
* misc/syslog.c (vsyslog, openlog, closelog): Likewise.
* sysdeps/generic/bits/stdio-lock.h
(_IO_cleanup_region_start, _IO_cleanup_region_start_noarg): Likewise.
* sysdeps/generic/bits/poll.h (POLLWRBAND): New alias for POLLOUT.
(POLLRDNORM, POLLRDBAND, POLLWRNORM, POLLWRBAND): Make these
definitions conditional on [__USE_XOPEN].
* sysdeps/mach/hurd/bits/fcntl.h (O_ASYNC, O_FSYNC, O_SYNC): Define
these unconditionally, not only use [__USE_BSD], so as to match
the sysdeps/unix/sysv/linux files.
2001-08-18 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/i386/init-first.c (init): Initialize __environ
before calling the cthreads initialization code.
* libio/genops.c (_IO_list_all_stamp): New variable.
(_IO_un_link): Bump _IO_list_all_stamp after removing from list.
(_IO_link): Likewise for insertion.
(flush_cleanup): New function.
(_IO_flush_all): Get list_all_lock and all individual locks for the
streams. Detect and handle changes to the _IO_list_all list.
(_IO_flush_all_linebuffered): Likewise.
* sysdeps/generic/bits/stdio-lock.h: Define
_IO_cleanup_region_start_noarg.
* sysdeps/mach/hurd/bits/stdio-lock.c: Likewise.
2001-07-07 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/i386/exc2signal.c (_hurd_exception2signal):
Generate SIGSEGV instead of SIGBUS for KERN_INVALID_ADDRESS and
KERN_WRITE_PROTECTION_FAILURE.
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-01 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/if_index.c: Redone to use new interfaces in
the Hurd pfinet server, using equivalent code from the Linux
version in sysdeps/unix/sysv/linux/if_index.c. In detail:
Include <unistd.h>, <error.h>, <sys/ioctl.h>, <hurd/ioctl.h> and
<hurd/pfinet.h>. Don't include <sys/mman.h> and <hurd/fsys.h>
anymore.
(if_nametoindex): New implementation using SIOCGIFINDEX.
(if_freenameindex): Straight copy of the Linux version.
(if_nameindex): New implementation based on pfinet_siocgifconf and
SIOCGIFINDEX.
(if_indextoname): New implementation using SIOCGIFNAME.
(map_interfaces): Function removed.
From Marcus Brinkmann <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>.
Declare these without `static', to avoid warning that we haven't
defined them.
* Makerules (build-module-helper-objlist): New variable,
broken out of build-module. Insert --whole-archive/--no-whole-archive
immediately each *_pic.a file in the link object list.
(whole-archive): New variable, used by that.
(build-module-objlist): New variable using build-module-helper-objlist.
(build-module, build-module-helper): Use it.
(build-shlib-objlist): New variable using build-module-helper-objlist.
(build-shlib): Use that.
* sysdeps/mach/hurd/Makefile ($(link-rpcuserlibs)): Likewise.
* 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.
so the label is not considered unused.
* sysdeps/mach/hurd/pwrite64.c: New file.
* sysdeps/mach/hurd/pread64.c: New file.
* sysdeps/mach/hurd/pread.c
(__libc_pread): Define this name, with __pread as an alias.
* sysdeps/mach/hurd/pwrite.c
(__libc_pwrite): Define this name, with __pwrite as an alias.
Implement POSIX "shared memory objects" as regular
files residing in the /var/run/shm/ directory.
This works on any system that supports _POSIX_MAPPED_FILES,
to make it also support _POSIX_SHARED_MEMORY_OBJECTS.
* sysdeps/posix/shm_open.c: New file.
* sysdeps/posix/shm_unlink.c: New file.
* sysdeps/mach/hurd/bits/posix_opt.h
(_POSIX_SHARED_MEMORY_OBJECTS): Define it.
* rt/aio_notify.c (__aio_notify_only) [! _POSIX_REALTIME_SIGNALS]:
Use raise instead of __aio_sigqueue.
* sysdeps/mach/hurd/pwrite.c: Likewise.
* shlib-versions [USE_IN_LIBIO] (.*-.*-gnu-gnu.*): libc=0.3
[USE_IN_LIBIO && !GLIBC_OLDEST_ABI] (.*-.*-gnu-gnu.*): Use GLIBC_2.2.4
as default version set.
(test_ftello): Check for EFBIG and ENOSPC, clean up error messages.
static pattern rule also that also covers
$(objpx)g$(static-start-installed-name).
[$(start-installed-name) != $(static-start-installed-name)]
(extra-objs, omit-deps, install-lib): Add
$(static-start-installed-name) and g$(static-start-installed-name).
* sysdeps/mach/hurd/i386/Makefile: Don't add crt0.o to those here;
just setting static-start-installed-name is now sufficient.
(extra-objs): Add static-start.o here.
(CFLAGS-initfini.s): Remove obsolete variable.
* sysdeps/mach/hurd/i386/Makeconfig: New file.
Define static-start-installed-name here.
* Makeconfig: Include existing $(full_config_sysdirs:=/Makeconfig).
* Make-dist (+sysdep-tsrcs): Look for Makeconfig files.
* Makerules ($(+sysdir_pfx)sysd-Makefile): Remove this target and
associated hair. Instead, just use $(wildcard ...) in the include.
* configure.in (critic_missing, aux_missing): Collect in these vars
the names of the missing programs, and include them in the error msgs.
* configure: Regenerated.
* sysdeps/mach/hurd/Makefile ($(link-rpcuserlibs)): Don't use
$(build-module) here, since we don't need the full magilla.
Just use $(build-module-helper) and append our special options.
* sysdeps/mach/hurd/munlock.c: New file.
* sysdeps/mach/hurd/bits/posix_opt.h (_POSIX_MEMLOCK_RANGE): Define it.
* misc/Makefile (routines): Add mlock munlock mlockall munlockall.
* sysdeps/generic/mlock.c: New file.
* sysdeps/generic/munlock.c: New file.
* sysdeps/generic/mlockall.c: New file.
* sysdeps/generic/munlockall.c: New file.
* sysdeps/generic/bits/mman.h (MCL_CURRENT, MCL_FUTURE): New macros.
* sysdeps/unix/sysv/linux/syscalls.list (mlock, munlock,
mlockall, munlockall): Change caller field to - from EXTRA.
Don't use __ names; not used (and not declared in include/sys/mman.h).
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-10 Andreas Schwab <schwab@suse.de>
* math/libm-test.inc (csinh_test): Don't require the invalid
exception for csinh (x + iNaN), but make it optional.
2001-04-09 David Mosberger <davidm@hpl.hp.com>
* sysdeps/ia64/elf/start.S (_start): Add unwind directives.
* sysdeps/generic/entry.h [!__ASSEMBLY__]: Declare _start.
* sysdeps/ia64/elf/entry.h: New file.
* sysdeps/unix/sysv/linux/mips/entry.h [!__ASSEMBLY__]: Declare
__start.
* elf/rtld.c: Don't declare ENTRY_POINT. Use ENTRY_POINT instead
of &ENTRY_POINT.
* sysdeps/generic/dl-sysdep.c: Likewise.
* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
* sysdeps/ia64/elf/start.S: Save base address of register backing
store in __libc_ia64_register_backing_store_base.
2001-03-31 Roland McGrath <roland@frob.com>
* sysdeps/mach/hurd/fork.c: Skip NEWPROC just like NEWTASK when
copying send rights into child. When we hit our name for our proc
port, just copy NEWPROC directly instead of repeating proc_task2proc
to install the child's port.
2001-04-08 Roland McGrath <roland@frob.com>
* Makeconfig ($(common-objpfx)soversions.i): Grok entries with DEFAULT
in second column, to provide default values for third column.
* shlib-versions: Add comments about using DEFAULT in second column.
(s390x-.*-linux.*): Replace individual entries with a DEFAULT entry.
(cris-.*-linux.*): Likewise.
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-03-24 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/i386/init-first.c: Include <assert.h>.
(_dl_argv): Declare.
(init) [SHARED]: Readjust _dl_argv if we switched to a new stack.
2001-03-17 Ulrich Drepper <drepper@redhat.com>
* inet/Makefile (tests): Remove left-over comment.
* posix/unistd.h: Change type of second parameter back to size_t
as per upcoming XPG6.
* sysdeps/unix/sysv/aix/gethostname.c: Change type of second
parameter back to size_t as per upcoming XPG6.
* sysdeps/unix/sysv/sysv4/gethostname.c: Likewise.
* sysdeps/unix/sysv/gethostname.c: Likewise.
* sysdeps/mach/hurd/gethostname.c: Likewise.
* sysdeps/generic/gethostname.c: Likewise.
* conform/data/sys/socket.h-data: Fix typos. Correct getsockopt,
recvfrom, send, and socketpair prototypes. Add allow lines.
* socket/sys/socket.h: Include <sys/uio.h>.
Don't use fancy __SOCKADDR_ARG definition unless __USE_GNU.
Fix type of second parameter of listen.
Don't declare isfdtype unless __USE_MISC.
* sysdeps/generic/listen.c: Fix type of second parameter of listen.
* sysdeps/mach/hurd/listen.c: Likewise.
* sysdeps/generic/bits/socket.h (struct sockaddr_storage): Define
ss_family and __ss_family.
* sysdeps/unix/sysv/aix/bits/socket.h: Likewise.
* sysdeps/unix/sysv/linux/bits/socket.h: Likewise.
(struct msghdr): Change type of msg_iovlen to int and type of
msg_controllen to socklen_t.
* sysdeps/unix/sysv/linux/alpha/bits/socket.h: New file.
* sysdeps/unix/sysv/linux/ia64/bits/socket.h: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/socket.h: New file.
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-06 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/fstatfs64.c: New file.
* sysdeps/mach/hurd/fstatvfs64.c: New file.
* sysdeps/mach/hurd/statfs64.c: New file.
* sysdeps/mach/hurd/statvfs64.c: New file.
* sysdeps/mach/hurd/statfsconv.c: New file.
* sysdeps/mach/hurd/Dist: Add statfsconv.c.
* sysdeps/mach/hurd/readdir_r.c (__readdir_r): Return error number
instead of -1 on failure. Don't forget to copy file name into
*ENTRY if successful. Set *RESULT to NULL upon reaching the end
of the directory.
2001-01-06 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/ioctl.c (__ioctl): Don't clobber ARG as we copy in
argument data, since it will be used to copy out too (for INOUT).
Reported by Marcus Brinkmann <marcus@gnu.org>.
* sysdeps/mach/hurd/ioctl.c: Include <stdint.h>.
(__ioctl): Use uintptr_t instead of unsigned long int.
* sysdeps/mach/hurd/defs.c (init_stdio): Put this on __libc_subinit
rather than _hurd_fd_subinit, so it happens after it's safe to use
libc facilities like malloc.
2000-09-29 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/dl-sysdep.c (__access): New function. Dummy
implementation for use by the dynamic linker.
2000-09-18 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/bits/time.h: (CLOCKS_PER_SEC): Make a long int
constant since that is what clock_t is.
* sysdeps/mach/hurd/i386/bits/time.h: Likewise.
2000-09-09 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/dl-osinfo.h (DL_SYSDEP_OSCHECK): Use uname
before trying to read /proc.
Patch by Matt Wilson <msw@redhat.com>.
* include/sys/utsname.h: Declare __uname.
* sysdeps/generic/uname.c: Make uname a weak alias of __uname.
* sysdeps/mach/hurd/uname.c: Likewise.
* sysdeps/unix/syscalls.list: Likewise.
* iconv/gconv_dl.c (do_release_shlib): Rewrite condition for
unloading a bit.
2000-09-08 Ulrich Drepper <drepper@redhat.com>
* posix/getopt.c (_getopt_internal): When long_only is set always
recognize conflicts just like before.
2000-09-08 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/ia64/Makefile (sysdep-rtld-routines): New variable.
2000-08-28 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/getpeername.c (__getpeername): Renamed from
getpeername. Use ISO C style function definition.
(getpeername): Provide weak alias.
* sysdeps/mach/hurd/setrlimit.c (__setrlimit): Renamed from
setrlimit. Use ISO C style function definition.
(setrlimit): Provide weak alias.
* sysdeps/mach/hurd/xstatconv.c: New file.
* sysdeps/mach/hurd/fxstat64.c: New file.
* sysdeps/mach/hurd/lxstat64.c: New file.
* sysdeps/mach/hurd/xstat64.c: New file.
* sysdeps/mach/hurd/Dist: Add xstatconv.c.
2000-08-15 Mark Kettenis <kettenis@gnu.org>
2000-08-15 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/dl-sysdep.c (__libc_multiple_libcs):
Initialize, needed for change in common symbol handling in newer
binutils. Mirrors 2000-01-03 change made by Andreas Schwab.
2000-08-02 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/socketpair.c (__socketpair): Renamed from
socketpair. Made socketpair a weak alias.
* sysdeps/mach/hurd/pipe.c (__pipe): Reimplemented using
__socketpair. Use S_IFIFO protocol to make pipes POSIX
conforming, but fall back on the old protocol if the socket server
doesn't support it.
* include/sys/socket.h: Add prototype for __socketpair.
2000-07-29 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Take into
acount that elf/rtld's main program might remove some varibales
from the environment if we're trying to be secure. Move the Hurd
startup data if necessary, or, if we there is no startup data,
make sure the magical convention that ARGV[0] is stored just after
the environment list.
2000-07-22 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/brk.c (_hurd_set_brk): When shrinking the
program's data space, reallocate only the space that was just
deallocated to release its backing space.
* elf/Makefile (tests): Add nodlopen. Add rules to generate nodlopen.
* include/dlfcn.h: Define __RTLD_DLOPEN.
* elf/dl-load.c (_dl_map_object_from_fd): If DF_1_NOOPEN is set
and this is a dlopen() call, do not load the binary.
* dlfcn/dlopen.c: Add __RTLD_DLOPEN to mode passed down to _dl_open.
* dlfcn/dlopenold.c: Likewise.
* configure.in: Add test for -z nodelete option.
* config.make.in: Define have-z-nodelete with libc_cv_z_nodelete.
2000-07-20 Mark Kettenis <kettenis@gnu.org>
Make Hesiod NSS module thread-safe.
* hesiod/README.hesiod: Update.
* hesiod/Versions [GLIBC_2.2]: Add _nss_hesiod_getservbyport_r,
_nss_hesiod_setprotoent, _nss_hesiod_endprotoent,
_nss_hesiod_getprotobyname_r, and _nss_hesiod_getprotobynumber_r.
* hesiod/Makefile (libnss_hesiod-routines): Add hesiod-init and
hesiod-proto.
* hesiod/nss_hesiod/hesiod-init.c: New file.
* hesiod/nss_hesiod/hesiod-pwd.c: Rewritten for thread-safeness.
* hesiod/nss_hesiod/hesiod-grp.c: Likewise.
* hesiod/nss_hesiod/nss_hesiod.h: New file.
* hesiod/nss_hesiod/hesiod-service.c
(_nss_hesiod_getservbyport_r): New function. Provide support for
looking up services by port number.
* hesiod/nss_hesiod/hesiod-proto.c: New file.
* hesiod/hesiod.c: Update from BIND 8.2.3-T5B.
* hesiod/hesiod.h: Likewise.
* hesiod/hesiod_p.h: Likewise.
2000-07-20 Mark Kettenis <kettenis@gnu.org>
Fix problems with `struct __res_state' getting too big.
* resolv/resolv.h (struct __sockaddr_in): New definition.
(struct __res_state): Use __sockaddr_in instead of sockaddr_in in
the private parts of the structure to save some space.
* resolv/res_send.c (res_nsend): Cast &EXT(statp).nsaddrs[ns] to
(struct sockaddr_in *) in call to sock_eq.
Use memcpy to copy statp->nsaddr_list[ns] to &EXT(statp).nsaddrs[ns].
2000-07-20 Ulrich Drepper <drepper@redhat.com>
* sysdeps/mach/hurd/dl-sysdep.c: Likewise.
2000-04-19 Jakub Jelinek <jakub@redhat.com>
* locale/programs/ld-ctype.c (ctype_output): Set size of the idx
field to nelems * sizeof (uint32_t).
* locale/programs/ld-address.c (address_output): Align word fields
properly.
* locale/programs/ld-monetary.c (monetary_output): Likewise.
Don't restart idx pointers to idx end at the duo_int_curr_symbol
field.
Avoid giving arbitrary garbage in the crncystr field.
Use sizeof(uint32_t) instead of 4 for len in uno_valid_from,
uno_valid_to, duo_valid_from, duo_valid_to and conversion_rate
fields.
* locale/programs/ld-numeric.c (numeric_output): Likewise.
Don't restart idx pointers to idx end at the decimal_point_wc field.
* locale/programs/ld-time.c (time_output): week_1stday should be
word, not byte. Align it properly.
2000-04-19 H.J. Lu <hjl@gnu.org>
* csu/gmon-start.c (_start): Declared as "extern void".
(etext): Likewise.
2000-04-18 Andreas Jaeger <aj@suse.de>
* manual/install.texi (Running make install): Don't mention utmpd
anymore.
2000-04-18 Andreas Jaeger <aj@suse.de>
* linuxthreads/Versions: Use ld instead of ld.so.
* elf/Makefile (ld-map): Use ld.map.
* Versions.def: Use ld instead of ld.so.
* elf/Versions: Likewise.
* sysdeps/mach/hurd/Versions: Likewise.
* posix/getconf.c: Add support for many more POSIX options.
* sysdeps/posix/sysconf.c: Likewise.
* sysdeps/generic/bits/confname.h: Add many more POSIX options.
* sysdeps/mach/hurd/bits/posix_opt.h: Add _POSIX_REGEXP and
_POSIX_SHELL.
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Likewise.
* sysdeps/unix/sysv/linux/i386/bits/time.h: Rename __CLOCK_HIGHRES to
CLOCK_PROCESS_CPUTIME_ID. Add define CLOCK_MONOTONIC and
CLOCK_THREAD_CPUTIME_ID.
* sysdeps/unix/i386/clock_getcpuclockid.c: Set *clock_id to
CLOCK_PROCESS_CPUTIME_ID.
* sysdeps/unix/i386/i586/clock_getres.c: Change for renaming of
__CLOCK_HIGHRES to CLOCK_PROCESS_CPUTIME_ID. Handle
CLOCK_THREAD_CPUTIME_ID and CLOCK_MONOTONIC the same.
* sysdeps/unix/i386/i586/clock_gettime.c: Likewise.
* sysdeps/mach/hurd/i386/init-first.c (init): Don't set __environ
here, before we might move the stack.
(posixland_init): Set __libc_argc, __libc_argc, and __environ here.
(init1): And not here.
(init1): Don't initialize __environ here, since init already does it.
(first_init): New function, broken out of _init.
(_hurd_stack_setup): Use it.
[SHARED] (_dl_init_first): New function, renamed from old _init.
(init1) [SHARED]: Don't call posixland_init here.
(posixland_init): Take ENVP arg, so signature is usual for initializer.
[SHARED] (_init): Define as alias for posixland_init.
[! SHARED] (__libc_first_init): Define as alias for posixland_init.
* sysdeps/i386/dl-machine.h (RTLD_START): Insert the macro
RTLD_START_SPECIAL_INIT before calling initializers.
(RTLD_START_SPECIAL_INIT): Define to empty if undefined.
* sysdeps/mach/hurd/i386/dl-machine.h: New file.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_init_first): New weak function.
* elf/Versions ({libc,ld.so}: GLIBC_2.2): Add _dl_init_first.
* mach/Versions (libc: GLIBC_2.0)
[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]: Conditionalize
__vm_allocate on this.
[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)]: Conditionalize
mutex- and spinlock-related symbols on this.
[!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3):
New version set. Lock-related symbols go here instead in this case.
* sysdeps/mach/hurd/Versions (libc: GLIBC_2.0): Remove
_cthread_exit_routine, _cthread_init_routine, cthread_keycreate,
cthread_getspecific, cthread_setspecific, __libc_getspecific.
* hurd/Versions
[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: GLIBC_2.0):
Put them here instead.
[!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3):
New version set. Those cthreads symbols go here instead in this case.
* Versions.def (libc) [USE_IN_LIBIO]: Add HURD_CTHREADS_0.3 version.
an initial value of 1024 instead of RLIM_INFINITY.
* Versions.def (libmachuser, libhurduser): Remove these sections,
since these libraries do not presently use symbol versions.
* sysdeps/mach/hurd/getdtsz.c (__getdtablesize): If the resource limit
is RLIM_INFINITY, return -1 instead.
* sysdeps/unix/sysv/linux/net/if.h: Moved to ...
* sysdeps/gnu/net/if.h: here.
(_IOT_ifconf, _IOT_ifreq): Hurd ioctl type macros moved from ...
* sysdeps/mach/hurd/net/if.h: ... here; this file now removed.
* sysdeps/generic/net/if.h: New file. Declares just the standard
functions and `struct if_nameindex' type.
* socket/Makefile (headers): Add net/if.h here.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Not here.
* sysdeps/mach/hurd/Dist: Remove it here.
* sysdeps/unix/sysv/linux/Dist: And here.
* sysdeps/generic/if_index.c: Include <net/if.h>.
argument type, for 2000-02-22 change in signal/signal.h declaration.
* sysdeps/generic/getdents64.c (__getdirentries64): Renamed
to getdirentries64 (no __), since the Linux implementation
has no __ name, and there is no declaration for the __ name.
* sysdeps/mach/bits/libc-lock.h (__libc_cleanup_end): New macro.
* sysdeps/mach/hurd/Makefile ($(common-objpfx)errnos.d): Tighten up
sed regexp so as not to break directory names including /../ within.
* sysdeps/unix/bsd/bits/waitflags.h: File removed.
The sysdeps/generic file is right for BSD. This file was in fact the
Hurd file, but the only difference was the WNOREAP flag that was never
actually implemented or used anywhere.
2000-02-28 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/start.c: Initialize __errno and add comment
explaining why. Remove K&R compatibility.
* sysdeps/powerpc/fpu/s_isnan.c: Avoid using asm statement to
declare aliases.
* sysdeps/powerpc/Makefile: Always pass flags to compile for ppc
and not rs6000.
[$(subdir)=misc] (sysdep_routines): Add gprsave0, gprrest0,
gprsave1 , and gprrest1.
Don't pass special flags to compiler for init and gmon-start if
this is no ELF platform.
* sysdeps/mach/hurd/bits/statfs.h: Define _STATFS_F_NAMELEN.
* sysdeps/unix/sysv/linux/bits/statfs.h: Likewise.
* sysdeps/unix/sysv/linux/mips/bits/statfs.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/bits/statfs.h: Likewise.
* sysdeps/posix/fpathconf.c: Don't unconditionally use f_namelen
in statfs. Check feature macro and use f_name_max or NAME_MAX
instead.
* sysdeps/posix/pathconf.c: Likewise.
* dlfcn/dlfcn.h: Remove DL_CALL_FCT definition here.
* sysdeps/generic/bits/dlfcn.h: Define DL_CALL_FCT here.
* sysdeps/mips/bits/dlfcn.h: Define DL_CALL_FCT here.
* iconv/skeleton.c: If DL_CALL_FCT is not yet defined, add dumy
definition here.
* sysdeps/generic/libc-start.c: Fix typo in comment.
* include/set-hooks.h: Allow systems to not define
symbol_set_define.
* configure.in: Unify machine names rs6000 and powerpc.
2000-01-23 Philip Blundell <philb@gnu.org>
Add basic support for RPC over IPv6:
* sunrpc/rpc/svc.h (struct SVCXPRT): Use `struct sockaddr_storage'
for remote address.
(svcudp6_create, svcudp6_bufcreate, svctcp6_create): New
prototypes.
* sunrpc/rpc/clnt.h (clnttcp6_create, clntudp6_create,
clntudp6_bufcreate): New prototypes.
* inet/netinet/in.h (bindresport6): Likewise.
* sunrpc/Makefile (routines): Add svc_tcp6, svc_udp6, bindrsvprt6.
* sunrpc/Versions: Add svcfd6_create, svctcp6_create,
svcudp6_create, svcudp6_bufcreate, svcudp6_enablecache,
bindresvport6 for GLIBC_2.2.
* sunrpc/rpc_main.c: Support `tcp6' and `udp6' transport types.
* sunrpc/rpc_svcout.c: Likewise.
* sunrpc/svc_tcp.c (rendezvous_request): Use memcpy rather than
simple assignment when copying addresses.
* sunrpc/svc_udp.c (cache_get): Likewise.
* sunrpc/svc_unix.c (rendezvous_request): Likewise.
* sunrpc/bindrsvprt6.c, sunrpc/clnt_tcp6.c, sunrpc/clnt_udp6.c,
sunrpc/svc_tcp6.c, sunrpc/svc_udp6.c: New files.
2000-01-05 Philip Blundell <philb@gnu.org>
* sysdeps/unix/sysv/linux/arm/mmap64.S: Correct check for ENOSYS.
2000-01-23 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/i386/fxstat.c (__fxstat): Pass right
parameter to fstat calls.
2000-01-18 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/bits/socket.h
(__ss_aligntype, struct sockaddr_storage): Make these like Linux
version, replacing old type name `__ss_align'.
2000-01-05 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/generic/lseek64.c (__libc_lseek64): Renamed from __lseek64.
(__lseek64, lseek64): Make these weak aliases for __libc_lseek64.
* sysdeps/mach/hurd/lseek.c (__libc_lseek): Renamed from __lseek.
(__lseek, lseek): Make these weak aliases for __libc_lseek.
* sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Renamed from __fcntl.
(__fcntl, fcntl): Make these weak aliases for __libc_fcntl.
* sysdeps/mach/hurd/open.c (__libc_open): Renamed from __open.
(__open, open): Make these weak aliases for __libc_open.
* sysdeps/generic/bits/socket.h (enum __socket_type): Remove
trailing comma.
(anonymous enum for MSG_*): Likewise.
(anonymous enum for SO_*): Likewise.
2000-01-23 Ulrich Drepper <drepper@cygnus.com>
* string/bits/string2.h: Fix typo (__GNU_SOURCE -> __USE_GNU)
(PR libc/1553).
* sysdeps/mach/hurd/setitimer.c (quantize_timeval): New function.
(setitimer_locked): Use it to quantize the timer values. Use
quantized timer values to check if the timeout changed.
* sysdeps/mach/hurd/errnos.awk: Rediddle to collect lines and print
them all at the end, eliding the final comma.
* sysdeps/mach/hurd/bits/errno.h: Regenerated.
* hurd/hurdsig.c (_hurdsig_init): If __hurd_threadvar_stack_mask is
nonzero, use cthread_fork to create the signal thread.
* hurd/msgportdemux.c (_hurd_msgport_receive): Initialize
_hurd_msgport_thread here (to self).
* sysdeps/mach/hurd/fork.c (__fork): When __hurd_sigthread_stack_end
is zero, instead compute child signal thread's starting SP from parent
signal thread's current SP and the threadvar_stack variables.
* hurd/Versions (GLIBC_2.1.3): Add cthread_fork, cthread_detach.
These are now referenced weakly by _hurdsig_init.
* hurd/report-wait.c (_S_msg_report_wait): Fix typo:
&_hurd_itimer_thread not &_hurd_msgport_thread.
1999-10-01 Roland McGrath <roland@baalperazim.frob.com>
* hurd/hurdfchdir.c (_hurd_change_directory_port_from_fd): Rewrite
without HURD_DPORT_USE to clean up warnings.
* hurd/dtable.c (get_dtable_port): Likewise.
* hurd/hurdioctl.c (rectty_dtable): Renamed to install_ctty.
(install_ctty): Do the changing of the cttyid port cell here, inside
the critical section while we holding the dtable lock.
(_hurd_setcttyid, tiocsctty, tiocnotty): Use that instead of changing
the port cell and calling rectty_dtable.
(_hurd_locked_install_cttyid): New function, split out of install_ctty.
(install_ctty): Use it inside a critical section, with the lock held.
* sysdeps/mach/hurd/setsid.c (__setsid): Use
_hurd_locked_install_cttyid to effect the cttyid and dtable changes
after proc_setsid, having held the dtable lock throughout.
* hurd/dtable.c (ctty_new_pgrp): With the dtable lock held, check the
cttyid port for null and bail out early if so. The dtable lock
serializes us after any cttyid change and its associated dtable update.
* sysdeps/mach/hurd/nfs/nfs.h: New file, empty but for comments.
Its presence lets librpcsvc compile ok. This from Mark Kettenis.
We don't install this file for users.
* sysdeps/mach/hurd/Dist: Add it.
* sysdeps/mach/hurd/Makefile [$(subdir) = sunrpc] (sysdep_headers):
Append nfs/nfs.h here.
* sysdeps/mach/hurd/wait4.c (__wait4): When proc_wait returns EAGAIN,
return zero to indicate no children died yet (assuming WNOHANG).
* sysdeps/mach/hurd/setsid.c: #include <hurd/fd.h>.
1999-09-17 Roland McGrath <roland@baalperazim.frob.com>
* hurd/port2fd.c (_hurd_port2fd): Never change CTTYID port.
* sysdeps/mach/hurd/setsid.c (__setsid): Fix return type -> pid_t.
Return _hurd_pgrp instead of 0.
* sysdeps/mach/hurd/i386/intr-msg.h (INTR_MSG_TRAP): Mark OPTION and
TIMEOUT as outputs of the asm to indicate that the signal thread
might mutate them.
* hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Short circuit to plain
mach_msg if only sending or only receiving (i.e., not an RPC). When
making an RPC that might get interrupted, save OPTION and the portion
of the message buffer that gets clobbered by an EINTR reply message,
and properly restore them before attempting to retry the request
message send.
1999-08-18 Ulrich Drepper <drepper@cygnus.com>
* ctype/ctype.h: Avoid useless #endif #if pairs.
* dirent/dirent.h: Define ino_t and ino64_t if not done already.
(seekdir): Fix type of second parameter.
* sysdeps/generic/seekdir.c: Likewise.
* sysdeps/mach/hurd/seekdir.c: Likewise.
* sysdeps/unix/seekdir.c: Likewise.
* dlfcn/dlfcn.h: Define RTLD_NEXT and RTLD_DEFAULT only if __USE_GNU.
* sysdeps/mach/hurd/i386/init-first.c (init): Move the inline
assembler code to switch stacks and call init1 outside this
function. Inside `init' the code was optimized away by gcc
2.95 since it was "clearly" unreachable.
* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
Do something similar for the trampoline code.
* sysdeps/mach/hurd/mmap.c (__mmap): Use correct arguments in
__vm_allocate calls.
1999-07-20 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/sysd-stdio.c (__stdio_read): Call
_hurd_fd_read with new OFFSET argument set to -1.
(__stdio_write): Call _hurd_fd_write with new OFFSET argument set
to -1.
1999-07-17 Roland McGrath <roland@baalperazim.frob.com>
* hurd/hurdexec.c (_hurd_exec): Prune trailing null ports from the
descriptor table sent in the RPC.
(_hurd_set_brk, init_brk): Use that instead of &__data_start.
Initialize it from &__data_start if defined, or else &_end.
1999-07-11 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/read.c (__libc_read): Just call __pread with
OFFSET argument of (off_t) -1.
* sysdeps/mach/hurd/write.c (__libc_write): Just call __pwrite with
OFFSET argument of (off_t) -1.
* sysdeps/mach/hurd/pwrite.c: New file.
* sysdeps/mach/hurd/pread.c: New file.
* hurd/fd-read.c (_hurd_fd_read): Take new parameter OFFSET and
pass it in the RPC instead of always -1.
* hurd/fd-write.c (_hurd_fd_write): Likewise.
* hurd/hurd/fd.h: Update decls.
* sysdeps/mach/hurd/read.c (__libc_read): Just call __pread with
OFFSET argument of (off_t) -1.
* sysdeps/mach/hurd/write.c (__libc_write): Just call __pwrite with
OFFSET argument of (off_t) -1.
* sysdeps/unix/sysv/linux/siglist.c: Moved to ...
* sysdeps/gnu/siglist.c: ... here.
Use <siglist.h> instead of "siglist.h", to ensure sysdeps-search.
Use <bits/wordsize.h> instead of <sizes.h> to determine PTR_SIZE_STR.
* sysdeps/gnu/siglist.h: New file, contents from linux version.
Add entry for SIGLOST protected by #ifdef.
* sysdeps/unix/sysv/linux/siglist.h: Just #include that file,
and define OLD_SIGLIST_SIZE_STR.
* sysdeps/mach/hurd/siglist.h: New file, likewise.
$(start-installed-name) if not defined.
(+link-static): Use $(static-start-installed-name) instead of
$(start-installed-name).
* sysdeps/mach/hurd/i386/Makefile (static-start-installed-name):
Set to crt0.o.
1999-06-12 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/fork.c (__fork): Make use of `insert_type' when
inserting a send right into the child instead of unconditionally
copying the send right.
* sysdeps/mach/hurd/getdents.c (__getdirentries): Remove
implementation and just always fail with ENOSYS. This entry point is
obsolete. Add link warning to that effect.
* sysdeps/mach/hurd/i386/Makefile [$(subdir) = csu]
(CFLAGS-initfini.s): New variable, add -DWEAK_GMON_START.
This does for Hurd/i386 what the 1998-09-08 change did for Linux/i386.
* sysdeps/mach/hurd/Makefile: Undo last change.
[$(subdir) = mach] (lib-noranlib): Depend on libmachuser-link.so.
[$(subdir) = hurd] (lib-noranlib): Depend on libhurduser-link.so.
* mach/Machrules (+preinit, +postinit, +interp,
LDFLAGS-$(interface.so)): Variables removed. Interface libraries get
linked just like other shared libraries.
(interface.so): Fix typo in defn, so it works.
($(objpfx)$(interface.so)): Make it depend on libc.so.
* sysdeps/mach/hurd/fcntl.c (__fcntl: case F_GETLK,F_SETLK,F_SETLKW):
Support whole-file locking (only) by using the file_lock RPC. This
has very wrong semantics, but is better than nothing for the time
being. (Correct POSIX.1 locking will require new RPCs in the Hurd
protocols that will be somewhat hairy to specify.)
* sysdeps/mach/hurd/poll.c (__poll): Correctly pass NULL to
_hurd_select if TIMEMOUT is -1.
1999-03-15 Mark Kettenis <kettenis@gnu.org>
* sysdeps/mach/hurd/recvfrom.c (recvfrom): Allow ADDR to be NULL.
* sysdeps/mach/hurd/ioctl.c (__ioctl): Move the marshalling of the
arguments into the request message buffer inside `send_rpc'
subfunction. We must repeat the marshalling when retrying the RPC
after a SIGTTOU delivery.
* sysdeps/mach/hurd/bits/fcntl.h
[__USE_GNU] (O_NOFOLLOW, O_DIRECTORY): New macros.
* hurd/hurdlookup.c (__hurd_file_name_lookup): If O_NOFOLLOW is set,
set O_NOTRANS as well.
(__hurd_file_name_lookup_retry): At successful end of lookup,
if O_NOFOLLOW set, io_stat the resultant port and fail with ENOENT if
it is a translated node not owned by root.
(__hurd_file_name_lookup): If O_DIRECTORY is set, put a trailing slash
on the file name passed to LOOKUP.
* sysdeps/mach/hurd/getsockname.c (getsockname): Set *LEN to the
actual length if the adress length is smaller than the input
value. Change type of *LEN paramater to socklen_t.
* sysdeps/mach/hurd/getpeername.c (getpeername): Likewise.
* sysdeps/mach/hurd/accept.c (accept): Likewise.
* sysdeps/mach/hurd/recvfrom.c (recvfrom): Likewise.
* sysdeps/mach/hurd/sendto.c (sendto): Change type of ADDR_LEN
paramater to socklen_t.
Revamp Hurd ioctl typing magic to handle `struct' keyword in the
ioctl command macros, so we can use Unix-compatible headers that
make use of the _IO* macros.
* sysdeps/mach/hurd/bits/ioctls.h (_IOC_ENCODE_TYPE,
_IOC_ENCODE_TYPE_1, _IOC_ENCODE_TYPE_2, _IOTBASE_struct): New macros.
(_IOR, _IOW, _IOWR): Use them _IOC_ENCODE_TYPE(t) instead of _IOT_##t.
(_IOT_int, _IOT_char, _IOT_short): Renamed to _IOT__IOTBASE_*.
(numerous ioctl command macros): Restore `struct' keyword.
* sysdeps/unix/sysv/linux/sys/sysmacros.h: Pretty print.
* sysdeps/unix/sysv/linux/Dist: Remove sys/sysmacros.h.
* sysdeps/unix/sysv/linux/Makefile: Remove sys/sysmacros.h.
* posix/Makefile (headers): Add sys/sysmacros.h.
* posix/sys/types.h: Include sys/sysmacros.h for __USE_BSD.
* sysdeps/generic/sys/sysmacros.h: New file.
* sysdeps/mach/hurd/xmknod.c: Include sys/types.h and remove minor and
major definition.
* sysdeps/mach/hurd/bits/statfs.h (struct statfs, struct statfs64):
Remove __ from member names; rename __unused to f_spare. 1998-12-21 Mark Kettenis <kettenis@phys.uva.nl>
Implement fstatvfs and statfs on the Hurd.
* sysdeps/mach/hurd/bits/statfs.h: New file.
* sysdeps/mach/hurd/bits/statvfs.h: New file.
* sysdeps/mach/hurd/fstatvfs.c: New file.
* sysdeps/mach/hurd/statvfs.c: New file.
Reverse the change of 1998-04-22. Providing a struct dirent with
different members when __USE_FILE_OFFSET64 is defined is asking
for trouble. Instead add the necessary LFS magic to the 4.4BSD
header.
* sysdeps/unix/bsd/bsd4.4/bits/dirent.h: Add LFS definitions.
* sysdeps/mach/hurd/bits/dirent.h: Removed.
* sysdeps/mach/hurd/readdir64.c: Removed.
* sysdeps/mach/hurd/readdir64_r.c: Removed.
* sysdeps/generic/bits/mman.h [__USE_MISC] (MAP_ANONYMOUS): Define as
alias for MAP_ANON.
* stdio/stdio.h (sys_errlist, sys_nerr, _sys_errlist, _sys_nerr):
Remove decls. They don't exist at all on the Hurd.
* sunrpc/svc_unix.c, sunrpc/clnt_unix.c: Avoid using `struct cmsghdr'
and `struct ucred' #ifndef SCM_CREDENTIALS.
* sunrpc/publickey.c (getsecretkey): Use `&errno' instead of
`__errno_location ()'; means the same, works for Hurd.
* sysdeps/mach/hurd/Makefile (subdirs): Don't elide sunrpc.
* sysdeps/mach/hurd/bits/local_lim.h (SYMLOOP_MAX): Define this #ifdef
__USE_BSD as well as #ifdef __USE_GNU, so MAXSYMLINKS can use it.
Reported by UCHIYAMA Yasushi <uch@nop.or.jp>
* sysdeps/mach/hurd/pselect.c: New file.
* sysdeps/mach/hurd/poll.c: New file.
* hurd/Makefile (routines): Add hurdselect.
* hurd/hurdselect.c: New file.
(_hurd_select): New function, guts taken from ...
* sysdeps/mach/hurd/select.c (__select): ... here.
Now work by just calling _hurd_select.
* hurd/hurd/fd.h: Declare _hurd_select.
1998-12-05 Roland McGrath <roland@baalperazim.frob.com>
* time/strptime.c: Fix unterminated comment in last change.
* argp/argp.h: Add __restrict.
1998-11-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* nscd/nscd_getpw_r.c: Include nscd_proto.h for prototypes.
* sysdeps/generic/errno-loc.c: Include <errno.h> for prototype,
undefine errno to get variable.
* sysdeps/unix/sysv/linux/i386/setfsuid.c: Include <sys/fsuid.h>
instead of <unistd.h> for prototype.
* sysdeps/unix/sysv/linux/i386/setfsgid.c: Likewise.
1998-11-30 Ulrich Drepper <drepper@cygnus.com>
* misc/err.h: Correct comments and use protected attribute keywords.
Reported by Joseph Myers <jsm28@cam.ac.uk>.
1998-11-29 Roland McGrath <roland@baalperazim.frob.com>
* malloc/thread-m.h [_LIBC]: Include <bits/libc-tsd.h>, and
remove tsd stuff from pthreads/cthreads libc sections.
Use __libc_tsd_define for MALLOC key.
[_LIBC] (tsd_key_t, tsd_key_create): Define to a zero-size type and a
no-op, respectively.
[_LIBC] (tsd_setspecific, tsd_getspecific): Use __libc_tsd_get/set.
* elf/dl-error.c: Include <bits/libc-tsd.h>.
Use __libc_tsd_define for DL_ERROR key.
(tsd_setspecific, tsd_getspecific): Rewritten using __libc_tsd_get/set.
* sysdeps/mach/hurd/bits/libc-tsd.h: New file.
* sysdeps/generic/bits/libc-tsd.h: New file.
* Makefile (distribute): Add bits/libc-tsd.h.
1998-10-12 Roland McGrath <roland@baalperazim.frob.com>
* elf/dl-error.c: Remove kludge to check for ld.so load address.
There is no need if weak undefined symbols are not used in ld.so;
see linuxthreads/ChangeLog for changes to files
linuxthreads/sysdeps/pthread/bits/libc-lock.h and
linuxthreads/sysdeps/pthread/bits/libc-tsd.h.
1998-11-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/i386/bits/string.h (__memset_cc): Fix typo (s->__s).
* sysdeps/i386/i486/bits/string.h: Add prototypes for all new
inline functions.
* sysdeps/i386/bits/string.h: Likewise.
1998-11-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/alpha/bits/ipc.h: Remove ipc_kludge.
1998-11-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* db2/progs/db_load/db_load.c (main): Avoid -Wparentheses warning.
__hurd_threadvar_max. Add comment explaining why we define
__hurd_threadvar_stack_offset and __hurd_threadvar_stack_mask here.
1998-07-29 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/dl-sysdep.c (__hurd_sigthread_stack_base,
__hurd_sigthread_stack_end, __hurd_sigthread_variables): Define to
prevent inclusion of Hurd signal handling code.
(__libc_write): New function.
(_dl_sysdep_output): Removed. The implementation in
`elf/dl-misc.c' now also works for the Hurd.
1998-09-12 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/i386/init-first.c (init): Restored as inline fn.
Use constant _HURD_THREADVARS_MAX for temporary array size.
* Makeconfig ($(common-objpfx)sysd-sorted): Use @ instead of / as sed
s separator, since $(..) might contain a /.
* sysdeps/mach/hurd/i386/init-first.c (init): Provide temporary storage
for the per-thread variables of the main user thread to make it
possible to use malloc as soon as _hurd_preinit_hook has been run.
For cthreads, copy values to new stack from there.
For non-cthreads, malloc threadvar array here and copy from temp space.
(init1): No longer initialize threadvars here.
(doinit1): Made static void at top level.
(init): Folded into [PIC] _init or [!PIC] doinit1, since GCC cannot
inline a function that uses dynamic auto arrays.
* mach/Versions: Add evc_wait, mach_error, mach_error_string,
mach_error_type, mach_msg_destroy, mig_deallocate_reply_port.
Remove __mach_host_self, __mach_reply_port, __mach_setup_thread,
__mach_port_allocate, __mach_port_allocate_name,
__mach_port_deallocate, __mach_port_insert_right, __mutex_init,
__mutex_trylock, __mutex_lock, __mutex_unlock, __swtch, __switch,
__task_create, __task_suspend, __task_set_special_port,
__task_terminate, __thread_depress_abort, __thread_switch,
__vm_allocate, __vm_deallocate, __vm_map. These functions are not
used outside libc.
* sysdeps/mach/hurd/Versions: New file.
[libc, GLIBC_2.0]: Add _cthread_exit_routine and
_cthread_init_routine. These are set by the Hurd cthreads library.
Add __getcwd, __mmap. If we don't add these, the weak definitions in
the dynamic linker will not be replaced by the corresponding shared
library routines once they are loaded.
1998-10-21 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/i386/init-first.c: Only define
__libc_enable_secure if PIC is not defined.
1998-10-25 Roland McGrath <roland@baalperazim.frob.com>
* argp/Versions: Add _argp_unlock_xxx. Lock-savvy functions call this
to recurse into argp.
1998-10-24 H.J. Lu <hjl@gnu.org>
* time/tzfile.c (__tzfile_default): Set num_types to 2.
1998-10-23 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* rt/aio.h: Move __aio_init to...
* include/aio.h: ...here.
1998-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/mips/bits/fcntl.h: Remove duplicate
definition of O_LARGEFILE.
1998-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/alpha/pathconf.c (__pathconf): Use path
as first argument to statfs.
1998-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/generic/setenv.c (setenv): Add braces around ambiguous else.
1998-10-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* malloc/mtrace.c: Include <string.h> for strlen.
* sysdeps/mach/hurd/dl-sysdep.c (__getcwd): New weak function.
* mach/Versions, hurd/Versions: Add numerous symbols.
Remove libmachuser and libhurduser sections, punt
versioning for those libraries for now.
* misc/Versions: Add reboot here; it exists on all platforms.
* sysdeps/unix/sysv/linux/Versions: Remove reboot here.
* sysdeps/mach/hurd/i386/init-first.c (init1): Don't call
__libc_init_secure. Instead set __libc_enable_secure here from
the exec flags.
(__libc_enable_secure): New variable it.
* sysdeps/mach/hurd/enbl-secure.c: New file, empty placeholder module.
1998-10-09 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/bits/posix_opt.h (_XBS5_ILP32_OFF32): Remove,
it is already defined in <bits/environments.h>.
1998-09-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/mach/hurd/dl-cache.c (_dl_unload_cache): New dummy
function. Reported by okuji@kuicr.kyoto-u.ac.jp [PR libc/789].
1998-09-15 David S. Miller <davem@pierdol.cobaltmicro.com>
* sysdeps/sparc/sparc32/dl-machine.h (elf_machine_runtime_setup):
Add profiling support.
(TRAMPOLINE_TEMPLATE): New macro.
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that.
(RTLD_START): Prettify, and set __libc_stack_end properly.
(elf_machine_rela) [R_SPARC_COPY]: Remove RTLD_BOOTSTRAP ifndef
and check for sym being NULL instead.
* sysdeps/sparc/sparc64/addmul_1.S: Adjust to allocate 192 bytes
of stack space.
* sysdeps/sparc/sparc64/lshift.S: Likewise.
* sysdeps/sparc/sparc64/mul_1.S: Likewise.
* sysdeps/sparc/sparc64/rshift.S: Likewise.
* sysdeps/sparc/sparc64/submul_1.S: Likewise.
* sysdeps/sparc/sparc64/elf/crtbegin.S: Likewise and remove old
MEDANY code model %g4 usage.
* sysdeps/sparc/sparc64/elf/crtend.S: Likewise and remove old
MEDANY code model %g4 usage.
* sysdeps/sparc/sparc64/elf/start.S: Rework to not use old FULLANY
code model address formation.
* sysdeps/sparc/sparc64/dl-machine.h: Don't include link.h, do
include elf/ldsodefs.h
(DT_SPARC): Remove.
(elf_machine_matches_host): It is now EM_SPARCV9.
(elf_machine_dynamic): Clean up to remove ugly cast.
(elf_machine_fixup_plt): Rework for new V9 ABI, add support for
new PLT formats.
(elf_machine_rela): Don't do anything at all for R_SPARC_NONE.
Prettify rest of function.
[R_SPARC_COPY]: Check for sym being NULL.
[R_SPARC_32]: Handle it.
[R_SPARC_H44, R_SPARC_M44, R_SPARC_L44]: Handle them for the
MEDMID code model.
[R_SPARC_HH22, R_SPARC_HM10, R_SPARC_LM22]: Handle them for the
MEDANY code model.
[R_SPARC_NONE]: Remove this case, as it is now checked earlier.
(elf_machine_runtime_setup): Rewrite for new V9 ABI plt formats.
Add profiling support.
(TRAMPOLINE_TEMPLATE): New macro.
(ELF_MACHINE_RUNTIME_TRAMPOLINE): Define in terms of that.
(RTLD_START): Prettify and set __libc_stack_end.
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h (SA_SIGINFO):
Define.
* sysdeps/unix/sysv/linux/sparc/bits/signum.h (_NSIG): Set to 64.
(SIGRTMIN, SIGRTMAX, __SIGRTMIN, __SIGRTMAX): Define.
* sysdeps/unix/sysv/linux/sparc/sparc32/brk.c (__brk): Remove
unused variable scratch.
* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c
(__syscall_rt_sigaction, __rt_sigreturn_stub, __sigreturn_stub):
Declare.
(__sigaction): Rewrite rt_sigaction case to pass correct sigreturn
stub to rt_sigaction syscalls. Rewrite non-rt case to use correct
old format kernel sigaction structures.
* sysdeps/unix/sysv/linux/sparc/sparc64/ucontext.h: Move...
* sysdeps/unix/sysv/linux/sparc/sparc64/sys/ucontext.h: to here.
* sysdeps/unix/sysv/linux/sparc/sparc64/Dist: Remove ucontext.h
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/setjmp.h: Fix
ucontext include.
(_JMPBUF_UNWINDS): Define.
* sysdeps/unix/sysv/linux/sparc/sparc64/bits/statfs.h: Declare
statfs64 structure, which is exactly the same as the normal one.
* sysdeps/unix/sysv/linux/sparc/sparc64/brk.S: Allocate 192 bytes
of stack. Use correct syscall trap number. Add branch prediction
settings to branch instructions. Remove old MEDANY code model %g4
referneces for non-PIC.
* sysdeps/unix/sysv/linux/sparc/sparc64/clone.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/init-first.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscall.S: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h: Likewise.
* sysdeps/unix/sysv/linux/sparc/sparc64/longjmp.S: Add
__libc_longjmp and __libc_siglongjmp strong aliases.
* sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c (__readdir64):
Also define to __no__readdir64_decl around readdir.c inclusion.
(__readdir64): Add strong alias.
* sysdeps/unix/sysv/linux/sparc/sparc64/socket.S: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list (getrlimit):
Set strong and weak names properly.
1998-09-16 11:25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manual/Makefile (AWK): Default to gawk if standalone.
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (distribute): Undo last change.
* Make-dist (+tsrc) [not subdir]: Also include indirection headers
for sysdep headers.
(+subdir-headers): Removed, unused.
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* stdio-common/Makefile ($(inst_includedir)/bits/stdio_lim.h): Use
$(do-install).
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules ($(+sysdir_pfx)sysd-Makefile): Don't check for
absolute name in $(config-sysdirs), can never happen.
($(+sysdir_pfx)sysd-rules): Likewise.
* Makeconfig (full-config-sysdirs): Likewise.
(all-Subdirs-files): Prepend $(..).
* configure.in: Don't check for absolute name in $add_ons_pfx, can
not happen. Let --enable-add-ons=yes work if no add-ons actually
exist.
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Rules ($(common-objpfx)bits/stdio_%.h): Remove extra
continuations in command.
1998-09-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/oldstdfiles.c (_IO_stdin_used): Update declaration.
* mach/Makefile: Use -include for mach-syscalls.mk to silence warning.
* sysdeps/mach/hurd/sysd-stdio.c: Declare fns
__stdio_{read,write,seek,close,fileno} using __io_*_fn types.
* sysdeps/generic/sysd-stdio.c: Likewise.
1998-08-27 19:42 Ulrich Drepper <drepper@cygnus.com>
* elf/Makefile (distribute): Add dl-origin.h.
* sysdeps/generic/dl-origin.h: New file.
* sysdeps/unix/sysv/linux/dl-origin.h: New file.
* elf/link.h (struct link_map): Add l_origin field.
* elf/dl-load.c (expand_dynamic_string_token): New function.
(decompose_path): Remove WHERE argument, take link map pointer instead.
Call expand_dynamic_string_token instead of local_strdup to make copy
of rpath.
(_dl_init_paths): Call decompose_path with correct argument.
(_dl_map_object_from_fd): Define static is EXTERNAL_MAP_FROM_FD is
not defined.
Check EI_OSABI and EI_ABIVERSION fields in header.
(_dl_map_object): Call decompose_path with correct argument.
Call expand_dynamic_string_token instead of local_strdup to also
expand DST.
* elf/dl-object.c (_dl_new_object): Determine l_origin for all maps
but the main one.
* elf/dl-support.c: Define _dl_origin_path.
* elf/rtld.c: Likewise. Set _dl_origin_path based on LD_ORIGIN_PATH.
* elf/dl-close (_dl_close): Free l_name and l_origin.
* sysdeps/i386/useldt.h (THREAD_GETMEM, THREAD_SETMEM): Use P
modifier in asm, not c.
* sysdeps/mach/hurd/Makefile [subdirs==elf]: Define CFLAGS-dl-load.c
to -DEXTERNAL_MAP_FROM_FD to make _dl_map_object_from_fd extern.
* Rules (binaries-static, binaries-shared static pattern rules):
Depend on lib%, not just libc%, from $(link-libc{,-static}).
* sysdeps/mach/hurd/Makefile (link-libc-static): New variable; set
this here, overriding Makeconfig generic value so we link against
the RPC libs.
multiple inclusion protection.
(_POSIX_SYNCHRONIZED_IO, _POSIX_FSYNC, _POSIX_MAPPED_FILES,
_POSIX_MEMORY_PROTECTION, _POSIX_POLL, _POSIX_SELECT): New macros,
define all these to 1.
(_POSIX_SYNC_IO): Add #undef, to remind us that pathconf reports it.
1998-08-12 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/getcwd.c
(_hurd_canonicalize_directory_name_internal): Do not loop forever
for unknown root directories.
(__getcwd): Return NULL when the current root directory could not
be reached.
1998-07-31 17:59 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/bits/byteswap.h: Fix problems with side effects.
* manual/filesys.texi: Document truncate and ftruncate.
Patch by Michael Deutschmann <michael@talamasca.wkpowerlink.com>.
* shadow/putspent.c: Lock stream while generating the output.
* sunrpc/clnt_unix.c: Use ucred instead of cmsgcred again.
(__msgwrite): Rewrite accordingly.
* sunrpc/svc_unix.c: Likewise.
* sysdeps/unix/sysv/linux/Dist: Remove __recvmsg.S and __sendmsg.S.
* sysdeps/unix/sysv/linux/Makefile [$(subdir)==socket]
(sysdep_routines): Remove __sendmsg and __recvmsg.
* sysdeps/unix/sysv/linux/__recvmsg.S: Removed.
* sysdeps/unix/sysv/linux/__sendmsg.S: Removed.
* sysdeps/unix/sysv/linux/recvmsg.c: Removed.
* sysdeps/unix/sysv/linux/sendmsg.c: Removed.
* sysdeps/unix/sysv/linux/recvmsg.S: New file.
* sysdeps/unix/sysv/linux/sendmsg.S: New file.
* sysdeps/unix/sysv/linux/bits/socket.h: Define SCM_CREDENTIALS and
struct ucred. Remove struct cmsgcred.
Patches by Thorsten Kukuk.
1998-08-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/rcmd.c (__ivaliduser): Allow '#' as comment character.
1998-08-08 14:42 Ulrich Drepper <drepper@cygnus.com>
* argp/argp-help.c: Prepare to be used outside glibc without gcc by
adding usual alloca cruft.
Reported by Eleftherios Gkioulekas <lf@amath.washington.edu>.
1998-04-05 Jim Meyering <meyering@ascend.com>
* lib/regex.c (WIDE_CHAR_SUPPORT): Define.
This now depends on HAVE_BTOWC so systems that lack btowc (like
solaris-2.5.1) don't lose.
1998-08-07 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/generic/bits/sigaction.h: Remove definition of SA_DISABLE.
* sysdeps/generic/bits/sigstack.h: Define SS_DISABLE, SS_ONSTACK,
MINSIGSTKZ and SIGSTKSZ. Definitions match BSD.
* hurd/sigunwind.c (_hurdsig_longjmp_from_handler): Use SS_ONSTACK
instead of SA_ONSTACK.
* sysdeps/mach/hurd/sigaltstack.c (__sigaltstack): Renamed from
sigaltstack, and created a weak alias. Use SS_DISABLE and
SS_ONSTACK instead of SA_DISABLE and SA_ONSTACK.
* sysdeps/mach/hurd/sigstack.c (sigstack): Use SS_ONSTACK instead
of SA_ONSTACK. Call __sigaltstack instead of sigaltstack.
* sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn): Use SS_ONSTACK
instead of SA_ONSTACK.
* sysdeps/mach/hurd/alpha/sigreturn.c (__sigreturn): Likewise.
* sysdeps/mach/hurd/mips/sigreturn.c (__sigreturn): Likewise.
* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
Use SS_DISABLE instead of SA_DISABLE. Use SS_ONSTACK instead of
SA_ONSTACK where appropriate.
* sysdeps/mach/hurd/alpha/trampoline.c (_hurd_setup_sighandler):
Likewise.
* sysdeps/mach/hurd/hppa/trampoline.c (_hurd_setup_sighandler):
Likewise.
* sysdeps/mach/hurd/mips/trampoline.c (_hurd_setup_sighandler):
Likewise.
* manual/signal.texi (Signal Stack): Talk about SS_DISABLE and
SS_ONSTACK instead of SA_DISABLE and SA_ONSTACK in discussion of
the `ss_flags' member of `struct sigaltstack'.
1998-08-05 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/Makefile (routines) [$(versioning)=yes]: Add oldtmpfile.
(shared-only-routines): Likewise.
* libio/oldtmpfile.c: New file
* stdio-common/tmpfile.c: Use __fdopen and __close.
[USE_IN_LIBIO]: Use _IO_fdopen instead of _IO_new_fdopen. Put
tmpfile on symbol version GLIBC_2.1.
* stdio-common/tmpfile64.c: Use __fdopen and __close.
[USE_IN_LIBIO]: Use _IO_fdopen instead of _IO_new_fdopen.
* stdio-common/Version [GLIBC_2.1]: Add tmpfile.
* stdio-common/tempnam.c: Use __strdup instead of strdup.
* sysdeps/posix/fdopen.c: Define __fdopen and make fdopen weak
alias.
* sysdeps/generic/fdopen.c: Likewise.
* sysdeps/mach/hurd/fdopen.c: Likewise.
* stdio/stdio.h: Declare __fdopen.
* sunrpc/openchild.c: Use __fdopen instead of fdopen.
[USE_IN_LIBIO]: Map __fdopen to _IO_fdopen.
* sysdeps/posix/tempname.c (__gen_tempname): Don't bother checking
__stub_open64, it is never defined.
1998-08-05 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/iofopen64.c: Fix typo. Avoid unnessary casts.
* libio/iopopen.c: Unlink file before freeing it if command
creation failed. Avoid unnessary casts.
* libio/iofdopen.c: Avoid unnecessary cast.
* pwd/fgetpwent_r.c [USE_IN_LIBIO]: Map funlockfile to
_IO_funlockfile.
* pwd/fgetspent_r.c [USE_IN_LIBIO]: Likewise.
1998-08-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* grp/grp.h, pwd/pwd.h: Don't declare __grpopen, __grpread,
__grpalloc, __grpscan and the corresponding pwd functions, they
were removed long ago.
1998-08-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* math/libm-test.c (csqrt_test): Adjust epsilons.
(casinh_test): Likewise.
1998-08-06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/globtest.sh: Fix typo. Remove second test output file.
1998-08-07 Cristian Gafton <gafton@redhat.com>
* pwd/putpwent.c (putpwent): Avoid writting (none) in the passwd file.
* shadow/putspent.c (putspent): Likewise.
* grp/putgrent.c: New file.
* grp/Makefile (routines): Add putgrent.
* grp/Versions [GLIBC_2.1]: Add putgrent.
* grp/grp.h: Add putgrent prototype.
1998-08-04 19:33 Ulrich Drepper <drepper@cygnus.com>
* elf/elf.h: More ELF definitions.
1998-07-29 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/dl-sysdep.c (__lseek): New function.
(__getpid): New function.
(abort): New function.
* nis/nis_cache2_xdr.c: Removed.
1998-07-28 Ulrich Drepper <drepper@cygnus.com>
* math/libm-test.c (tgamma_test): Remove redundant tests.
1998-07-28 16:20 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/glob.c: Correct problems with */foo and GLOB_NOCHECK
where foo does not exist in any of the subdirectories.
Reported by Paul D. Smith <psmith@BayNetworks.COM>.
* posix/globtest.sh: Add test for this bug.
1998-07-28 Mark Kettenis <kettenis@phys.uva.nl>
* io/sys/statfs.h: Fix typos.
* io/sys/statvfs.h: Fix typos.
1998-07-28 Ulrich Drepper <drepper@cygnus.com>
* version.h (VERSION): Bump to 2.0.95.
* math/Makefile (libm-calls): Remove w_gamma, add w_tgamma.
* math/Versions [GLIBC_2.1]: Add tgamma, tgammaf, and tgammal.
* math/libm-test.c: Split old gamma_test and move half of it in new
function tgamma_test.
* math/bits/mathcalls.h: Add declaration of tgamma.
* sysdeps/libm-ieee754/k_standard.c: Change gamma errors into
tgamma errors.
* sysdeps/libm-ieee754/w_gamma.c: Remove lgamma compatibility code
and rename to ...
* sysdeps/libm-ieee754/w_tgamma.c: ... this. New file.
* sysdeps/libm-ieee754/w_gammaf.c: Remove lgammaf compatibility code
and rename to ...
* sysdeps/libm-ieee754/w_tgammaf.c: ... this. New file.
* sysdeps/libm-ieee754/w_gammal.c: Remove lgammal compatibility code
and rename to ...
* sysdeps/libm-ieee754/w_tgammal.c: ... this. New file.
* sysdeps/libm-ieee754/w_lgamma.c: Add gamma as weak alias.
* sysdeps/libm-ieee754/w_lgammaf.c: Likewise.
* sysdeps/libm-ieee754/w_lgammal.c: Likewise.
* stgdio-common/printf-parse.h: Implement handling of j, t, and z
modifiers.
* stdio-common/vfprintf.c: Likewise.
* stdio-common/vfscanf.c: Likewise.
* manual/stdio.texi: Document new printf/scanf modifiers.
* sysdeps/unix/sysv/linux/recvmsg.c: Remove alias __recvmsg.
* sysdeps/unix/sysv/linux/sendmsg.c: Remove alias __sendmsg.
1998-07-28 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* sunrpc/Makefile (routines): Add clnt_unix and svc_unix.
* sunrpc/Versions: Add new *unix_create functions.
* sunrpc/clnt_gen.c: Add support for RPC over AF_UNIX.
* sunrpc/clnt_unix.c: New, client side of RPC over AF_UNIX.
* sunrpc/key_call.c: Use RPC over AF_UNIX for communication
with keyserv daemon.
* sunrpc/rpc/clnt.h: Add AF_UNIX based RPC function prototypes.
* sunrpc/rpc/svc.h: Likewise.
* sunrpc/svc_authux.c: Copy internal auth flavor if none is given.
* sunrpc/svc_tcp.c: Fix typos.
* sunrpc/svc_unix.c: New, server side of AF_UNIX based RPC.
* nis/Makefile: Remove currently not working cache functions.
* nis/Versions: Add __nisbind_* functions for rpc.nisd.
* nis/nis_call.c: Rewrite binding to a NIS+ server to reuse
CLIENT handles.
* nis/nis_file.c: Fix memory leaks.
* nis/nis_intern.h: Move internal structs from here ...
* nis/rpcsvc/nislib.h: ... to here for NIS+ server and tools.
* nis/nis_lookup.c: Try at first if last client handle works.
* nis/nis_table.c: Likewise.
* nis/nis_checkpoint.c: Adjust __do_niscall2 parameters.
* nis/nis_mkdir.c: Likewise.
* nis/nis_ping.c: Likewise.
* nis/nis_rmdir.c: Likewise.
* nis/nis_server.c: Likewise.
* nis/nis_util.c: Likewise.
* nis/nis_findserv.c (__nis_findfastest): Little optimization.
1998-07-28 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* stdlib/strtol.c (STRTOL_LONG_MAX): Correct typo in last patch -
define as LONG_MAX.
1998-07-28 09:31 Ulrich Drepper <drepper@cygnus.com>
* nscd/connections.c (gr_send_answer): Deal with missing UIO_MAXIOV.
Correct test whether writev send all data.
* nscd/nscd_getgr_r.c (__nscd_getgr_r): Correct test whether readv
received all data.
1998-07-28 Mark Kettenis <kettenis@phys.uva.nl>
* nscd/nscd_getgr_r.c (__nscd_getgr_r): Deal with missing UIO_MAXIOV.
1998-07-28 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/dl-sysdep.c (open_file): Change assert call to
allow mode to be 0.
(__xstat): New function.
(__fxstat): New function.
(_dl_sysdep_read_whole_file): Removed. The implementation in
`elf/dl-misc.c' now also works for the Hurd.
1998-07-20 Jose M. Moya <josem@gnu.org>
* hurd/hurdmsg.c (_S_msg_get_env_variable): Copy getenv return
value.
1998-07-20 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/getdomain.c: New file.
* sysdeps/mach/hurd/setdomain.c: New file.
1998-07-20 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/unix/bsd/sigsuspend.c: Define __sigsuspend with sigsuspend as
a weak alias.
1998-07-20 17:09 Ulrich Drepper <drepper@cygnus.com>
* shlib-versions: Remove definition for libSegFault.
* memory.texi: Comment out the relocating allocator description.
* manual/signal.texi: Remove reference to relocating allocator.
* manual/top-menu.texi: Regenerated.
* posix/fnmatch.c: Implement [: :] and change to recognize
^ as negation only when not _POSIXLY_CORRECT.
* sysdeps/generic/glob.c: Add several optimizations.
* posix/glob.h: Undefine __PMT to prevent warnings.
Reported by Roland McGrath.
* posix/regex.c: Define namespace macros only for _LIBC.
* sysdeps/arm/dl-machine.h: Fix typo.
* sysdeps/unix/sysv/sysv4/solaris2/sigpending.c: New file.
* sysdeps/unix/sysv/sysv4/solaris2/sigstack.c: New file.
* sysdeps/unix/sysv/sysv4/solaris2/sigwaitinfo.c: New file.
* sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: Add sigaltstack,
sigpending, sigqueue, and sigtimedwait.
* sysdeps/unix/sysv/sysv4/solaris2/sparc/sparc32/syscall.S: New file.
* timezone/leapseconds: Update from tzdata1998f.
1998-07-18 Mark Kettenis <kettenis@phys.uva.nl>
* stdio/stdio.h [__USE_GNU]: Add prototype for fputs_unlocked.
* stdio/Versions [GLIBC_2.1]: Add fputs_unlocked.
* libio/stdio.h: Fix typo.
1998-07-19 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): #if 0 out the
magic memobj port arg parsing stuff. Fix it someday when we are ready
to really use it.
(_dl_sysdep_output): New function, modified from _dl_sysdep_error.
(_dl_sysdep_error, _dl_sysdep_message, _dl_sysdep_fatal): Removed.
1998-07-19 Roland McGrath <roland@baalperazim.frob.com>
* stdio/fputs.c: Add fputs_unlocked as weak alias for fputs.
1998-07-19 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/posix/sigsuspend.c: Define __sigsuspend with sigsuspend as
a weak alias.
* sysdeps/mach/hurd/sigsuspend.c: Likewise.
* sysdeps/generic/sigsuspend.c: Likewise.
1998-07-19 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/mach/hurd/i386/sigcontextinfo.h: New file.
1998-07-19 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (map-file): Don't use $(wildcard) to find the
generated version script, instead look in $(version-maps).
($(common-objpfx)libc.so): Only depend on libc.map if versioning
is used.
* extra-lib.mk ($(objpfx)$(lib).so): Only depend on version script
if versioning is used. Don't use $(wildcard) to find the
generated version script, instead look in $(verson-maps).
1998-07-17 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/segfault.c: Rename GET_EIP to GET_PC. Remove
unused function handle.
* sysdeps/generic/sigcontextinfo.h: Rename GET_EIP to GET_PC.
* sysdeps/unix/sysv/linux/i386/sigcontextinfo.h: Likewise.
* debug/catchsegv.sh: Fix argument processing, quoting and various
typos. Put the crash info always in the current directory. Find
program in $PATH if it contains no directory component.
* Makerules (install-lib.so-versioned,
install-lib.so-unversioned): New variables.
(install-lib-nosubdir): Depend on unversioned libs in
slibdir, not libdir.
1998-07-19 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Make-dist (+tsrcs): Remove references to %-map variables and
*.map files. Add Versions in subdirs.
* Makerules (distinfo-vars): Don't write out %-map variables.
1998-07-20 13:55 Ulrich Drepper <drepper@cygnus.com>
* inet/protocols/rwhod.h: Remove definition of _PATH_RWHODIR.
Include <paths.h> instead.
* sysdeps/generic/paths.h: Define _PATH_RWHODIR.
* sysdeps/unix/sysv/linux/paths.h: Likewise.
Reported by Dale Scheetz <dwarf@polaris.net>.
1998-07-17 21:44 Ulrich Drepper <drepper@cygnus.com>
* catgets/open_catalog.c: Strictly check whether catalog file is
larger enough for the data. Reported by Andries.Brouwer@cwi.nl.
1998-07-17 Ulrich Drepper <drepper@cygnus.com>
* debug/catchsegv.sh: Fix several stupid bugs.
* shlib-versions: Define version for libSegFault.
* debug/Makefile: Replace shared lib version number while rewriting.
1998-07-17 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/dl-sysdep.c (__mmap): Add sanity check.
Suggested by Roland McGrath.
1998-07-15 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* timezone/Makefile: Remove '-L (leapseconds)' for testdata
generation to control environment.
1998-07-17 09:21 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/sysv4/solaris2/bits/signum.h: Define SIG_HOLD.
Patch by John Tobey <jtobey@banta-im.com>.
* manual/llio.texi: Document readv/writev and mmap functions.
Patch by Michael Deutschmann <michael@talamasca.wkpowerlink.com>.
1998-07-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manual/Makefile (texis): Depend on texis.awk.
(nonexamples): Filter out add-on chapters.
(chapters.% top-menu.%): Depend on libc-texinfo.sh.
(stamp-summary): Depend on $(texis) except summary.texi.
($(inst_infodir)/libc.info): Simplify command.
* manual/libc-texinfo.sh: Cleaned up to use less temporary files.
Fix the generation of the detailed node listing to make it
complete again.
* manual/math.texi: Fix signature of lgamma_r.
1998-07-16 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/dl-sysdep.c (open_file): Return a Hurd I/O
port instead of a Mach memory object.
(__open): Likewise.
(__libc_read): New function.
(__mmap): Change to take a Hurd I/O port instead of a Mach memory
object.
1998-07-14 19:39 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/vfscanf.c (ungetc): Use _IO_sputbackc, not _IO_ungetc.
[_USE_IN_LIBIO] (encode_error): Free cancelation handler.
(conv_error): Likewise.
(input_error): Likewise.
(memory_error): Likewise.
1998-07-12 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/dl-sysdep.c: Bring in sync with generic
implementation. Include <entry.h>. Replace references to symbol
_start with macro ENTRY_POINT.
(__libc_uid): Remove.
(__libc_multiple_libcs): New variable.
(__libc_stack_end): New variable.
(_dl_hwcap_mask): New variable.
(_dl_important_hwcaps): New function.
(_dl_show_auxv): Mark internal.
1998-06-25 19:26 Ulrich Drepper <drepper@cygnus.com>
* Makeconfig (CPPFLAGS): Use $($(subdir)-CPPFLAGS) if defined first.
* locale/Makefile: Define locale-CPPFLAGS instead of redefining
CPPFLAGS.
* libc.map: Export __sigaction.
1998-06-25 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/bits/sched.h (CLONE_PTRACE): Add it
(from Linux 2.1.107).
1998-06-24 Ulrich Drepper <drepper@cygnus.com>
* nss/nss_files/files-XXX.c (_nss_files_get,ENTNAME_r): Initialize
position when file was opened here.
Reported by Howard Chu <hyc@platinum.com>.
* sysdeps/generic/glob.c: Also protect FNM_* macros from being
undefined in a second inclusion.
1998-06-20 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/i386/Makefile: New file.
* sysdeps/mach/hurd/i386/init-first.c [!PIC] (init1): Call
__libc_init_secure.
(_hurd_stack_setup): Renamed
from __libc_init_first.
(__libc_init_first): New function.
* sysdeps/mach/hurd/i386/static-start.S: New file.
1998-05-30 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/i386/init-first.c
1998-06-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* grp/initgroups.c: Use _CALL_DL_FCT.
1998-06-23 Mark Kettenis <kettenis@phys.uva.nl>
* elf/dl-load.c (_dl_map_object_from_fd): Add missing cast.