* sysdeps/unix/dirstream.h: Rewritten.
* sysdeps/unix/readdir.c: Rewritten.
* sysdeps/unix/telldir.c: Rewritten.
* sysdeps/unix/closedir.c: Use <...> instead of "..." for dirstream.h.
Remove __ from DIR struct member names.
* sysdeps/unix/dirfd.c: Likewise.
* sysdeps/unix/seekdir.c: Likewise.
* sysdeps/unix/rewinddir.c: Likewise.
* sysdeps/unix/opendir.c: Likewise. Don't allocate extra space after
DIR structure.
* sysdeps/stub/direct.h: File removed.
* sysdeps/unix/bsd/bsd4.4/direct.h: File removed.
* sysdeps/unix/bsd/direct.h: File removed.
* sysdeps/unix/common/direct.h: File removed.
* sysdeps/unix/sysv/irix4/direct.h: File removed.
* sysdeps/unix/sysv/isc3/direct.h: File removed.
* sysdeps/unix/sysv/sco3.2.4/direct.h: File removed.
* sysdeps/unix/sysv/sysv4/solaris2/direct.h: File removed.
* sysdeps/unix/common/direntry.h: New file.
* sysdeps/unix/bsd/direntry.h: New file.
* sysdeps/unix/bsd/bsd4.4/direntry.h: New file.
* sysdeps/unix/sysv/direntry.h: New file.
* sysdeps/stub/direntry.h: New file.
* dirent/dirent.h (struct dirent): Type removed. Include <direntry.h>
to define it.
(_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New macros.
* dirent/Makefile (headers): Add direntry.h.
(distribute): Remove direct.h.
* sysdeps/posix/getcwd.c: Use new macros instead of d_namlen.
* dirent/scandir.c: Likewise.
* io/fts.c (fts_build): Likewise.
* io/ftw.c (ftw_dir): Likewise.
* sysdeps/posix/ttyname.c: Likewise.
* sysdeps/unix/sysv/sysv4/solaris2/syscalls.list: New file.
* sysdeps/mach/hurd/profil.c (MAX_PC_SAMPLES): New macro.
(collector_timeout): New static variable.
(update_waiter): Actually call __task_enable_pc_sampling.
Set collector_timeout based on the `tick' count returned.
(profile_waiter): Use MAX_PC_SAMPLES. Set nsamples before RPC.
Use collector_timeout in __mach_msg call.
* gmon/Makefile (noprof): New variable containing mcount.
Append profil unless it is in $(unix-syscalls).
(mcount.po): Use $(noprof) for list of targets in this rule.
* libc-symbols.h: Define _LIBC before #include <config.h>.
Sun Feb 25 12:29:23 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* config.h.in [_LIBC] (HAVE_STRERROR): Define it.
Protect 2nd page of #undef's for generator programs with #ifndef _LIBC.
* time/zic.c, time/zdump.c, time/private.h: Updated from ADO's latest.
Fri Feb 9 12:40:19 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
* libio/cleanup.c (_IO_cleanup_registration_needed)
[!_G_HAVE_ATEXIT]: Init to NULL.
* libio/filedoalloc.c (_IO_cleanup_registration_needed): Remove decl.
Thu Feb 8 08:12:50 1996 Brendan Kehoe <brendan@cygnus.com>
* libio/filedoalloc.c (_IO_cleanup_registration_needed): Revert
previous change, since cleanup.c only defines it if _G_HAVE_ATEXIT.
Wed Feb 7 15:10:17 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
* libio/filedoalloc.c (_IO_cleanup_registration_needed): Declare as
extern.
Sat Feb 24 11:34:13 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/i386/memcmp.S: Fix argument %esp offsets.
* time/sys/time.h (timeradd, timersub): New macros; BSD has these.
* Rules (others): Depend on $(extra-objs), $(install-lib),
$(install-bin), $(install-sbin), in object directory.
* Makeconfig (link-libc): Don't pass -rpath option with default
path, since ld.so should use the same default.
* Makerules (build-shlib): Likewise.
* Makerules (make-target-directory): Use mkinstalldirs.
* sysdeps/mach/i386/sysdep.h: Include unix/i386/sysdep.h to
redefine ENTRY et al.
* sysdeps/unix/sysv/linux/i386/sysdep.h (NO_UNDERSCORES, ENTRY):
Macros removed. The code in unix/i386/sysdep.h should now suffice.
* sysdeps/unix/i386/sysdep.h (ALIGNARG): New macro, defns for
[HAVE_ELF] and not.
(ENTRY): Use it in .align directive.
(CALL_MCOUNT): New macro, empty unless [PROF].
(ENTRY): Do CALL_MCOUNT just after the label.
* Makeconfig (CPPFLAGS-.po): New variable, use -DPROF so assembly
code can call mcount.
Tue Feb 20 23:05:16 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* time/private.h, time/zdump.c, time/zic.c: Updated verbatim from ADO;
translation markings are now integrated in his distribution.
* stdlib/strtod.c (round_and_return): Add missing (mp_limb) 1 cast.
* po: New directory where `LANG.po' files for message translations
will reside.
* po/SYS_libc.pot: New file, template of message strings as in source.
* MakeTAGS: New rules to build po/SYS_libc.pot automatically from
the source using xgettext.
* Makerules ($(..)po/%.pot): New rule.
* manual/Makefile (../po/manual.pot): New target, make it empty.
* sysdeps/unix/bsd/alarm.c: Moved to sysdeps/unix/alarm.c.
* sysdeps/unix/bsd/nice.c: Moved to sysdeps/unix/nice.c.
* sysdeps/unix/bsd/stime.c: Moved to sysdeps/unix/stime.c.
* sysdeps/unix/bsd/time.c: Moved to sysdeps/unix/time.c.
* sysdeps/unix/bsd/utime.c: Moved to sysdeps/unix/utime.c.
* mach/Machrules: Use -include for $(*.ir).
* hurd/hurd/ioctl.h (_HURD_HANDLE_IOCTLS): Mask off type bits in
request values.
* sysdeps/mach/hurd/ioctls.h (_IOC_NOTYPE): New macro.
(_IOT_COUNT2): Field is 3 bits, not 2.
* sysdeps/mach/hurd/ioctl.c: Ignore handler if it fails with ENOTTY.
* hurd/hurdioctl.c (_hurd_lookup_ioctl_handler): Mask off type
bits before looking up handler.
(fioctl): Use __hurd_dfail.
(fioctl, fioclex): Use ENOTTY for bogus request instead of EGRATUITOUS.
Wed Feb 14 00:21:17 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/alpha/memchr.c (memchr): loop searching for matching
character bailed out one too early; changed constant 6 to
7 to fix this.
* hurd/hurdmsg.c (_S_msg_report_wait): Function removed.
* hurd/report-wait.c: New file.
* hurd/Makefile (routines): Added report-wait.
* sysdeps/mach/hurd/Makefile (inhibit-unix-syscalls): New variable.
* sysdeps/mach/hurd/i386/intr-msg.h (struct mach_msg_trap_args):
New type.
(SYSCALL_EXAMINE, MSG_EXAMINE): New inline functions.
* sysdeps/mach/hurd/i386/trampoline.c (struct mach_msg_trap_args):
Structure moved to intr-msg.h; include that.
* time/Makefile (CFLAGS-ialloc.c): Add -Wno-unused.
(CFLAGS-scheck.c): New variable.
* sysdeps/mach/hurd/dl-sysdep.c (__hurd_sigthread_stack_base,
__hurd_sigthread_stack_end, __hurd_sigthread_variables,
__hurd_threadvar_stack_mask): New variables.
* sysdeps/mach/hurd/fork.c: Set the new task's exception port to
its new message port.
* misc/init-misc.c: Put __init_misc in the __libc_subinit set.
* configure.in (uname): Add quoting.
* sysdeps/mach/hurd/fchdir.c: Don't consult errno unless lookup fails.
* hurd/fchroot.c: Likewise.
* posix/sys/types.h [GCC >= 2.7]: Define intN_t/u_intN_t using
__attribute__ ((__mode__ (__XX__))).
Wed Feb 7 03:24:05 1996 Torbjorn Granlund <tege@tmg.se>
* sysdeps/i386/i586/memcopy.h (WORD_COPY_FWD): Manually allocate
destination cache lines.
(WORD_COPY_BWD): Likewise.
Wed Feb 7 14:16:36 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/generic/Makefile (make_siglist): Get signum.h absolute
file name first thing, before $(native-compile) changes directories.
From Gord Matzigkeit <gord@enci.ucalgary.ca>:
* sysdeps/unix/make_errlist.c: Use strerror if available.
* sysdeps/unix/configure.in: New file
* sysdeps/unix/bsd/sun/syscalls.list: Added sigvec.
* sysdeps/unix/bsd/sun/sigvec.S: File removed.
* sysdeps/stub/sendto.c: Make sockaddr arg pointer to const.
* sysdeps/stub/connect.c: Likewise.
* sysdeps/stub/bind.c: Likewise.
* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): RETRYNAME of
"" is only special for FS_RETRY_NORMAL; for FS_RETRY_REAUTH, do
another dir_lookup of "".
* setjmp/setjmp.h (jmp_buf): Give a tag in the struct defn, to
make C++ happy.
* alpha/jmp_buf.h: Likewise.
* m68k/jmp_buf.h: Likewise.
* mips/jmp_buf.h: Likewise.
* sparc/jmp_buf.h: Likewise.
* vax/jmp_buf.h: Likewise.
Sun Jan 28 17:25:38 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* setjmp/setjmp.h (jmp_buf): Give a tag in the struct defn, to
make C++ happy.
* alpha/jmp_buf.h: Likewise.
* m68k/jmp_buf.h: Likewise.
* mips/jmp_buf.h: Likewise.
* sparc/jmp_buf.h: Likewise.
* vax/jmp_buf.h: Likewise.
* sysdeps/generic/memmem.c: Fix return value in case where
NEEDLE_LEN==0.
* hurd/hurdlookup.c (__file_name_lookup_under,
__file_name_lookup): Restrict mode with umask.
* sysdeps/mach/hurd/xmknod.c: Restrict mode with umask.
* sysdeps/mach/hurd/mkdir.c: Restrict mode with umask.
* elf/dl-load.c (_dl_map_object_from_fd): After mapping first
segment to find location, mprotect excess region to no access,
don't munmap it.
* sysdeps/mach/hurd/dl-sysdep.c (mmap): If vm_map returns
KERN_NO_SPACE for fixed location, deallocate it and try again.
* sysdeps/mach/hurd/setitimer.c: Code rearranged a bit to use new
preemption interface.
* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler):
Use _hurdsig_catch_memory_fault.
* hurd/Makefile (headers): Add hurd/sigpreempt.h.
(sig): Add catch-signal.
* hurd/hurdfault.c (_hurdsig_fault_catch_exception_raise):
Rewritten using a preempter in new interface.
* hurd/hurdfault.h (_hurdsig_catch_fault): Likewise.
(_hurdsig_catch_memory_fault): New macro.
(hurd_preempt_signals, hurd_unpreempt_signals): Decls removed.
* hurd/hurd/sigpreempt.h: New file.
* hurd/preempt-sig.c: Rewritten with new interface.
* sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Remove local signal
preempters being unwound past.
* db: New directory, 4.4 BSD db package incorporated from BSD db-1.85
release.
* sysdeps/unix/sysv/linux/sys/param.h: Several new macros for BSD
compatibility.
* sysdeps/mach/hurd/bind.c: Translate EEXIST from dir_link into
EADDRINUSE. If translated node doesn't grok ifsock protocol,
return EADDRINUSE.
* sysdeps/mach/hurd/connect.c: Make address arg
`const struct sockaddr_un *'.
The redecl is kosher and avoids another variable for AF_LOCAL case.
* sysdeps/mach/hurd/sendto.c: Likewise.
* sysdeps/mach/hurd/bind.c: Likewise.
* socket/sys/socket.h (__SOCKADDR_ARG): Enable transparent_union
code for GCC >= 2.7; use __transparent_union__ for name safety;
add several sockaddr flavors.
(__SOCKADDR_ALLTYPES, __SOCKADDR_ONETYPE): New macros used in
constructing the transparent union declarations.
(__CONST_SOCKADDR_ARG): New type (or macro if not GCC 2.7).
(bind, connect, sendto): Make the sockaddr argument use that.
* stdio-common/vfscanf.c: Correctly handle white space skipping.
* stdio-common/Makefile (tests): Add bug11.
* stdio-common/bug11.c: New file.
Fri Dec 22 00:38:00 1995 H.J. Lu <hjl@nynexst.com>
* stdio-common/vfscanf.c: Correctly handle white space skipping.
* stdio-common/Makefile (tests): Add bug11.
* stdio-common/bug11.c: New file.
* sysdeps/mach/hurd/setuid.c: Rewrote ID frobnication to do the
right thing.
* sysdeps/mach/hurd/setgid.c: Likewise.
* sysdeps/mach/hurd/setreuid.c: Likewise.
* sysdeps/mach/hurd/setregid.c: Likewise.
* sysdeps/mach/hurd/setegid.c: Likewise.
* sysdeps/mach/hurd/seteuid.c: Likewise.
* sysdeps/mach/hurd/fork.c: Peek __mach_task_self_ value before
proc_dostop call to work around kernel paging bug.
Thu Dec 21 12:19:32 1995 Miles Bader <miles@gnu.ai.mit.edu>
* sysdeps/mach/hurd/setuid.c (__setuid): Actually add the new uid
instead of putting it (and other uids) in the gids and leaving the
old uids as is.
Fri Dec 8 13:04:51 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/glob.c: Implement new options GLOB_ALTDIRFUNC, GLOB_BRACE,
GLOB_TILDE, GLOB_NOMAGIC.
(glob): Use stat instead of lstat to determine directoriness.
* posix/glob.h (GLOB_ALTDIRFUNC, GLOB_BRACE, GLOB_NOMAGIC, GLOB_TILDE):
New flag bits.
(__GLOB_FLAGS): Include them.
(glob_t): New members gl_closedir, gl_readdir, gl_opendir, gl_lstat,
gl_stat.
* locale/error.c, locale/error.h: Files removed.
* locale/Makefile (distribute): Remove error.h.
(lib-modules): Remove error.
* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): For "tty"
magic, return ENXIO if no ctty.
* sysdeps/mach/hurd/mmap.c: For MAP_FIXED, deallocate a previous
mapping if vm_map fails for that reason.
* posix/glob.c: Implement new options GLOB_ALTDIRFUNC, GLOB_BRACE,
GLOB_TILDE, GLOB_NOMAGIC.
(glob): Use stat instead of lstat to determine directoriness.
* posix/glob.h (GLOB_ALTDIRFUNC, GLOB_BRACE, GLOB_NOMAGIC, GLOB_TILDE):
New flag bits.
(__GLOB_FLAGS): Include them.
(glob_t): New members gl_closedir, gl_readdir, gl_opendir, gl_lstat,
gl_stat.
* elf/elf.h (ET_NUM, SHT_NUM, STB_NUM, STT_NUM, PT_NUM): New macros.
* sysdeps/unix/sysv/linux/sys/mman.h: Include <linux/mman.h> to
define all the bit values.
(MAP_*, MCL_*): Macros removed.
(_hurd_set_brk): Try to allocate more space when we run out.
* sysdeps/generic/sbrk.c: If __curbrk is zero, call __brk with
zero and examine it again.
* sysdeps/unix/sysv/linux/i386/brk.c: New file.
* sysdeps/unix/sysv/linux/i386/brk.S: File removed.
* sysdeps/unix/sysv/linux/i386/sbrk.S: File removed.
* sysdeps/unix/sysv/linux/dl-sysdep.c: New file.
* malloc/malloc.c (align): Don't check contiguity and call abort.
* hurd/hurdsig.c (post_reply): Function removed.
(abort_thread, abort_all_rpcs, _hurdsig_abort_rpcs): Don't call it.
Take single callback fn arg instead of reply port and type.
(_hurd_internal_post_signal): Callers changed.
Cache reply stub fn ptr in local var before UNTRACED might be changed.
* sysdeps/mach/hurd/mmap.c: Cope with a null write memobj for
PROT_READ|PROT_WRITE copy mapping. Pass a proper vm_inherit_t to
vm_map.
* elf/rtld.c (_dl_start): For --list, do output and exit before
relocating.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start_cleanup): New
function.
(_dl_sysdep_start): Move cleanup code there.
* Makeconfig (default-rpath): New variable.
(link-libc): Use it.
* elf/Makefile (ld.so): Pass -rpath=$(default-rpath).
* elf/rtld.c (_dl_rpath): New variable.
(_dl_start): Set it from rtld_map's DT_RPATH.
Call _dl_setup_hash on rtld_map.
(dl_main): Cache address of _exit in variable before relocating,
and use that in later calls. Call _dl_sysdep_start_cleanup before
relocating. Keep track of dependency order while loading; remove
rtld_map from chain, and reinsert in proper order if there is a
dependency on it.
* sysdeps/generic/Makefile (make_siglist): Pass
-DSIGNUM_H=... with config's signum.h location.
* sysdeps/generic/make_siglist.c: Include SIGNUM_H to define
signal numbers.
(HAVE_STRSIGNAL, HAVE_PSIGNAL): Define these before including signame.c
(main): Deansideclize output.
* elf/dl-load.c (_dl_map_object): Use _dl_rpath variable in place
of DEFAULT_RPATH macro.
* elf/Makefile: Undo last change.
* sysdeps/mach/hurd/dl-sysdep.c (free): Don't abort, just nop.
* sysdeps/mach/hurd/dl-sysdep.c: Include _itoa.h from stdio-common
instead of stdio.
(_dl_sysdep_start): If passed user entry is zero and
EXEC_STACK_ARGS flag set, reset user entry to &_start.
* elf/rtld.c (dl_main): Only call _dl_setup_hash if there is a
DT_HASH element.
* libc-symbols.h [HAVE_ELF] (symbol_set_declare): Gratuitously
repeat weak decl using weak_symbol macro, in case using broken GCC
(<2.8).
Wed Nov 15 18:49:55 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* sysdeps/i386/isnanl.c: New file.
* sysdeps/i386/isinfl.c: New file.
* elf/linux-compat.c: New file.
* elf/Makefile (distribute): Add linux-compat.c.
(generated): Add librtld.so.
[$(config-os)=linux*] (extra-objs): Add linux-compat.so.
[$(config-os)=linux*] (extra-objs): Add ld-linux.so.1.
(librtld.so): New target.
(ld.so, ld-linux.so.1): Make from librtld.so.
* elf/rtld.c (dl_main): Instead of weak call to _dl_compat_init,
call our own DT_INIT if we have one (and then clear it).
(__dgettext): New weak function.
* intl/localealias.c (read_alias_file): Avoid sprintf; use memcpy
by hand instead.
* sysdeps/generic/_strerror.c (_strerror_internal): Use _itoa
instead of snprintf.
* sysdeps/mach/_strerror.c (_strerror_internal): Don't write
BUF[BUFLEN].
* elf/rtld.c (rtld_map): New static variable.
(_dl_start): Use a differently named local BOOTSTRAP_MAP for the
bootstrapping. Then copy data into `rtld_map'.
(dl_main): Finish filling in rtld_map and link it into the chain,
instead of allocating a new structure.
(dl_main): Call _dl_compat_init if it is defined (use weak ref).
* elf/dlsym.c: Fix last change: move REF out of `doit'.
control.
using it.
and cwdir ports.
functions.
these.
$(libdir)(rtld-installed-name).
leading zeroes.
in the rhs.
pattern rule.
never know.
(fork): Use symbol_set_* macros for _hurd_fork_locks.
* sysdeps/unix/sysv/sysv4/linux/i386/sysdep.S (__syscall_error):
instead of unix/sysv.
-dynamic-linker.
(__printf_fp): Last arg ARGS is now `const void **const';
locale/C-ctype.c.
* sysdeps/mach/hurd/sigsuspend.c: Likewise.
* sysdeps/mach/hurd/mips/sigreturn.c: Likewise.
alias gethostname.
setitmr
setpgrp
(_S_msg_get_exec_flags, _S_msg_set_exec_flags,
(abort_thread, abort_rpcs): Take same new arg and pass it through.
PI_FETCH_TASKINFO to proc_getprocinfo and through
_hurd_priority_which_map.
* sysdeps/mach/hurd/setpriority.c (setpriority): Pass new arg to
_hurd_priority_which_map.
* hurd/hurdprio.c (_hurd_priority_which_map): New arg PI_FLAGS,
passed through to proc_getprocinfo RPC.
* hurd/hurd/resource.h: Add PI_FLAGS arg in decl.
* sysdeps/mach/hurd/group_member.c: New file.
* sysdeps/generic/group_member.c: New file.
* Makerules (lib-noranlib): Don't depend on $(install-lib).
(others): Do.
* extra-lib.mk: Fix test of $(lib)-no-lib-dep.
Mon Oct 30 12:33:10 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Rules (others): Depend on $(extra-objs).
* posix/unistd.h [__USE_GNU]: Declare group_member, __group_member.
* posix/Makefile (routines): Add group_member.
* sysdeps/posix/euidaccess.c: New file, adapted from fileutils.
* sysdeps/unix/sysv/linux/i386/sigaction.c: Tighten constraint for
SIG operand in asm so it must be a register.
Add dead return to quiet gcc warning.
* Makerules (sysd-rules): Write a defn for sysd-rules-done.
[! sysd-rules-done]: Inhibit deps.
* sysdeps/mach/hurd/getcwd.c: Use __file_name_lookup_under.
* sysdeps/mach/hurd/bind.c: Likewise.
* sysdeps/mach/hurd/access.c: Use new __hurd_file_name_lookup
calling convention.
* hurd/hurdexec.c: Undo last change (10 Oct 95).
* hurd/hurdlookup.c (__file_name_lookup_under): New function.
(__hurd_file_name_lookup, __hurd_file_name_lookup_retry,
__hurd_file_name_split): Rewritten to take callback functions for
using any needed init or dtable port, instead of passing in crdir
and cwdir ports.
(__file_name_lookup, __file_name_split): Use new calling
convention; pass _hurd_ports_use and __getdport as the callback
functions.
* sysdeps/mach/hurd/chroot.c: Use __file_name_lookup_under instead
of __hurd_file_name_lookup.
* sysdeps/mach/hurd/chdir.c: Likewise.
* sysdeps/mach/hurd/fchdir.c: Likewise.
* hurd/fchroot.c: Likewise.
* Makeconfig (config-LDFLAGS): Add missing slash.
* sysdeps/mach/hurd/profil.c (fork_profil): Only call
update_waiter if profiling was enabled in the parent.
* csu/initfini.c: Don't pass -f flag to cp.