Fri Apr 5 17:43:41 1996 Miles Bader <miles@gnu.ai.mit.edu>
* sysdeps/mach/hurd/i386/sigreturn.c (__sigreturn): Store
MACH_PORT_DEAD in the thread reply-port variable before destroying
the signal handler's reply port to avoid infinite recursion.
* sysdeps/mach/hurd/mig-reply.c (__mig_dealloc_reply_port): Only
attempt to destroy PORT if it's a valid port name.
* sysdeps/unix/bsd/pause.c: Moved to sysdeps/unix/common/pause.c.
Mon Mar 4 20:17:28 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/adjtime.c: Use INT_MAX instead of LONG_MAX.
* sysdeps/unix/sysv/Makefile (sysdep_routines): Don't add s_getdents.
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Don't add mount,
umount.
* sysdeps/alpha/__math.h (atan, cabs): New functions.
* sysdeps/unix/sysv/linux/alpha/sigsuspend.S: new file (syscall
expects set-value, not pointer to it).
Sun Feb 25 22:36:10 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/profil-counter.h: New file.
* gmon/gmon.c (__bb_head): new variable.
(write_hist, write_call_graph, write_bb_counts): new functions.
(_mcleanup): modified to call above functions instead of directly
writing out gmon.out.
* gmon/sys/gmon.h (struct __bb): New type.
(struct gmonhdr): Type removed.
(struct gmonparam): New member `log_hashfraction'.
(GMONVERSION): Macro removed.
* gmon/sys/gmon_out.h, gmon/bb_exit_func.c,
sysdeps/generic/bb_init_func.c, sysdeps/alpha/bb_init_func.S: new
files.
* gmon/Makefile (headers): Add sys/gmon_out.h.
(routines): Add bb_init_func, bb_exit_func.
* gmon/mcount.c: Avoid integer division.
Wed Feb 21 23:56:41 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/alpha/setjmp.S: switched order in which sp and fp are
passed to match what __sigsetjmp_aux() expects.
Tue Feb 20 11:33:46 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/syscalls.list (select, bind,
connect, getpeername, getsockname, listen, recv, recvfrom,
recvmsg, send, sendmsg, sendto, setsockopt, shutdown, socketpair):
added to override same-name assembly file in the parent directory.
* stdlib/stdlib.h: add include of sys/types.h in front of random
etc declarations to ensure int32_t is declared.
* stdlib/random.c, stdlib/random_r.c: replaced "long int" by int32_t
where 32 bit integers are required. Also change LONG_MAX into
0x7fffffff since the intent is to turn off the sign bit in a
32 bit integer.
* time/offtime.c (__offtime): Use Paul Eggert's code to deal
with very large values for "days" (e.g., 64 bit values).
Mon Feb 19 22:22:12 1996 David Mosberger-Tang <davidm@azstarnet.com>
* stdlib/stdlib.h (__random, __random_r, random_r, struct
random_data): use int32_t instead of `long int'.
Sat Feb 17 11:29:29 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/ioperm.c: new file.
* sysdeps/alpha/ffs.S: new file.
* sysdeps/alpha/fabs.c: File removed.
* time/tzfile.c (__tzfile_read): counter variable is i, *not*
num_transitions!
* time/offtime.c: make capable of dealing with very large (64 bit)
time_t values. Use old algorithm until a year is reached that
is an integer multiple of 400, then use DAYS_PER_400_YEARS to
do the remainder in a single division.
* sysdeps/generic/ffs.c (ffs): fix variable declarations to
be unsigned int, not unsigned long.
* string/test-ffs.c (main): add test case with all upper bits
set.
* stdlib/tst-strtol.c: add tests cases for machines where
sizeof(long)==8.
* stdlib/testrand.c (main): disallow rand() to return negative
integers.
* stdlib/testmb.c (main): fix format to use %lx instead of %x.
* stdlib/stdlib.h: on 64 bit machines, declare
struct random_data, __random(), __random_r, and random_r to
return "int" instead of "long int".
* stdlib/random_r.c: 64 bit machines use "int" instead of "long
int". Similarly, use INT_MAX instead of LONG_MAX.
* stdlib/random.c: on 64 bit machines, randtbl[] and __random[]
need to operate on "int" instead of "long int".
* locale/locfile-hash.c (compute_hashval): make shifted constant
a long to avoid loosing bits on 64 bit machines.
* dirent/tst-seekdir.c (main): fix confusing comment; print
a line to mark point where directory is rewound.
Fri Feb 16 15:01:49 1996 David Mosberger-Tang <davidm@azstarnet.com>
* time/strftime.c (strftime): any hour > 11 is PM (not > 12!).
Wed Feb 14 00:21:17 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/Makefile,
sysdeps/unix/sysv/linux/alpha/brk.S,
sysdeps/unix/sysv/linux/alpha/fpu_control.c,
sysdeps/unix/sysv/linux/alpha/fpu_control.h,
sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S,
sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S,
sysdeps/unix/sysv/linux/alpha/pipe.S,
sysdeps/unix/sysv/linux/alpha/setfpucw.c,
sysdeps/unix/sysv/linux/alpha/sigprocmask.c,
sysdeps/unix/sysv/linux/alpha/speed.c,
sysdeps/unix/sysv/linux/alpha/start.S,
sysdeps/unix/sysv/linux/alpha/syscall.S,
sysdeps/unix/sysv/linux/alpha/syscalls.list,
sysdeps/unix/sysv/linux/alpha/alpha/regdef.h,
sysdeps/unix/sysv/linux/alpha/sysdep.S,
sysdeps/unix/sysv/linux/alpha/sysdep.h: New files.
* sysdeps/alpha/setjmp_aux.c (__sigsetjmp_aux): restore return
address register before returning (gcc 2.7.1 doesn't do it,
presumably because $26 is declared as a global variable).
* sysdeps/unix/sysv/linux/sys/mman.h: msync was missing "flags"
argument.
* sysdeps/unix/alarm.c (alarm): do roundup using test & increment
instead of multiplication.
* sysdeps/posix/sleep.c (sleep): initialize sa_mask to mask of
currently blocked signals instead of the empty mask to ensure
that execution of alarm handler occurs with none of the currently
blocked signals enabled.
* sysdeps/unix/alpha/sysdep.h: new file (adapted from OSF/1 version).
* sysdeps/unix/bsd/osf/alpha/sysdep.h: include
sysdeps/unix/alpha/sysdep.h and removed definitions now in that file.
* sysdeps/alpha/divrem.S, sysdeps/alpha/htonl.S,
sysdeps/alpha/htons.S, sysdeps/alpha/machine-gmon.h,
sysdeps/alpha/_mcount.S, sysdeps/alpha/ntohl.s, sysdeps/alpha/ntohs.s,
sysdeps/alpha/strlen.S: New files.
* sysdeps/alpha/divl.S, sysdeps/alpha/divlu.S, sysdeps/alpha/divq.S,
sysdeps/alpha/divqu.S, sysdeps/alpha/divrem.m4,
sysdeps/alpha/macros.m4, sysdeps/alpha/reml.S, sysdeps/alpha/remlu.S,
sysdeps/alpha/remq.S, sysdeps/alpha/remqu.S, sysdeps/alpha/strlen.c:
Removed.
* sysdeps/generic/sbrk.c (__sbrk): argument is of type ptrdiff_t, not
int.
* sysdeps/alpha/__longjmp.c (__longjmp): moved dummy while loop
to end of function to avoid a jump across NOPs.
* sysdeps/alpha/Makefile (sysdep_routines): Removed all rules
pertaining to integer division/remainder routines since new code
doesn't require them.
* sunrpc/xdr_mem.c, sunrpc/xdr_stdio.c: Use 4 instead of sizeof(long)
where 32 bit quantities are consumed/stored. Various other minor
64-bit cleanups (casting).
* sunrpc/xdr.c (xdr_int): test for sizeof(int)==4 to determine
whether xdr_long or xdr_short should be used to encode an int.
Notice that an xdr_long is 4 bytes independent of the architecture
(otherwise no Alpha could interoperate with existing NFS servers,
for example). Ditto for enums.
* sunrpc/svc_udp.c (svcudp_recv): changed test from 4*sizeof(u_long)
to 16 since it really wants 16 bytes.
* sunrpc/svc.c (maskp): changed from u_long* to u_int32*.
* sunrpc/rpc_cmsg.c (xdr_callmsg), sunrpc/svc_authux.c: increment
"buf" pointer by casting it to a char* first since a long* may be 8
bytes or more and oa->oa_length may be any multiple of 4.
* sunrpc/rpc/xdr.h (IXDR_GET_LONG, IXDR_PUT_LONG): change casts to
u_int32_t (instead of u_long).
* sunrpc/clnt_udp.c (clntudp_call): replaced sizeof(u_long) by 4
since it really is testing for 32 bits. Fixed casts to use
u_int32 instead of u_long.
* sunrpc/xdr_rec.c: Likewise.
* sunrpc/clnt_tcp.c (clnttcp_call): replaced u_long by u_int32.
* sunrpc/rpc/auth.h: Likewise.
* limits.h (LONG_MAX, LONG_MIN, ULONG_MAX): use 64 bit values
for Alpha.
Tue Mar 19 13:27:49 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/i386/fpu/__math.h: New file.
Contributed by John C. Bowman <bowman@hagar.ph.utexas.edu>.
Sun Mar 17 00:28:16 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/posix/clock.c: Don't multiply the return value by
CLOCKS_PER_SEC or CLK_TCK.
* sysdeps/mach/hurd/getcwd.c: Fail with ENOENT if a parent directory
scan finds no match.
* posix/unistd.h (setpgrp): Declare no-arg version unless __FAVOR_BSD.
* misc/bsd-compat.c (setpgrp): New function, two arg version.
* sysdeps/stub/setpgid.c: Remove setpgrp alias.
* sysdeps/mach/hurd/setpgid.c: Likewise.
* sysdeps/unix/sysv/sysv4/setpgid.c: Likewise.
* sysdeps/unix/common/syscalls.list (setpgid): Remove setpgrp alias.
* sysdeps/unix/sysv/irix4/syscalls.list: Likewise.
* sysdeps/unix/sysv/linux/setpgrp.c: Obsolete file removed.
* posix/setpgrp.c (setpgrp): New file.
* posix/Makefile (routines): Add setpgrp.
Tue Feb 6 12:46:29 1996 David Mosberger-Tang <davidm@azstarnet.com>
* libc-symbols.h (weak_alias, weak_symbol): added definitions
for ECOFF (HAVE_ECOFF).
* 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.