Age | Commit message (Collapse) | Author |
|
* configure.in: Grok arg --enable-libio.
($stdio = libio): Define USE_IN_LIBIO.
* config.h.in (USE_IN_LIBIO): Add #undef.
* config.make.in (stdio): New variable, set by configure.
* Makeconfig (stdio): New variable.
* stdio.h [USE_IN_LIBIO]: Include libio/stdio.h instead of
stdio/stdio.h.
* stdio-common/Makefile: New file.
* stdio/Makefile: Half the contents moved to stdio-common/Makefile.
* stdio/_itoa.c: Moved to stdio-common.
* stdio/_itoa.h: Moved to stdio-common.
* stdio/asprintf.c: Moved to stdio-common.
* stdio/bug1.c: Moved to stdio-common.
* stdio/bug1.input: Moved to stdio-common.
* stdio/bug2.c: Moved to stdio-common.
* stdio/bug3.c: Moved to stdio-common.
* stdio/bug4.c: Moved to stdio-common.
* stdio/bug5.c: Moved to stdio-common.
* stdio/bug6.c: Moved to stdio-common.
* stdio/bug6.input: Moved to stdio-common.
* stdio/bug7.c: Moved to stdio-common.
* stdio/dprintf.c: Moved to stdio-common.
* stdio/errnobug.c: Moved to stdio-common.
* stdio/getline.c: Moved to stdio-common.
* stdio/getw.c: Moved to stdio-common.
* stdio/perror.c: Moved to stdio-common.
* stdio/printf-parse.h: Moved to stdio-common.
* stdio/printf-prs.c: Moved to stdio-common.
* stdio/printf.c: Moved to stdio-common.
* stdio/printf.h: Moved to stdio-common.
* stdio/printf_fp.c: Moved to stdio-common.
* stdio/psignal.c: Moved to stdio-common.
* stdio/putw.c: Moved to stdio-common.
* stdio/reg-printf.c: Moved to stdio-common.
* stdio/scanf.c: Moved to stdio-common.
* stdio/snprintf.c: Moved to stdio-common.
* stdio/sprintf.c: Moved to stdio-common.
* stdio/sscanf.c: Moved to stdio-common.
* stdio/tempnam.c: Moved to stdio-common.
* stdio/temptest.c: Moved to stdio-common.
* stdio/test-fseek.c: Moved to stdio-common.
* stdio/test-fwrite.c: Moved to stdio-common.
* stdio/test-popen.c: Moved to stdio-common.
* stdio/test_rdwr.c: Moved to stdio-common.
* stdio/tmpfile.c: Moved to stdio-common.
* stdio/tmpnam.c: Moved to stdio-common.
* stdio/tst-fileno.c: Moved to stdio-common.
* stdio/tst-printf.c: Moved to stdio-common.
* stdio/tstgetln.c: Moved to stdio-common.
* stdio/tstgetln.input: Moved to stdio-common.
* stdio/tstscanf.c: Moved to stdio-common.
* stdio/tstscanf.input: Moved to stdio-common.
* stdio/vfprintf.c: Moved to stdio-common.
* stdio/vfscanf.c: Moved to stdio-common.
* stdio/vprintf.c: Moved to stdio-common.
* stdio/xbug.c: Moved to stdio-common.
* sysdeps/generic/Makefile (siglist.c rules): Do this in subdir
stdio-common instead of stdio.
* sysdeps/unix/Makefile (errlist.c rules): Likewise.
* stdio-common/asprintf.c [USE_IN_LIBIO]: Call libio primitive
function.
* stdio-common/dprintf.c: Likewise.
* stdio-common/printf.c: Likewise.
* stdio-common/scanf.c: Likewise.
* stdio-common/snprintf.c: Likewise.
* stdio-common/sprintf.c: Likewise.
* stdio-common/sscanf.c: Likewise.
* stdio-common/vprintf.c: Likewise.
* Makerules: Include $(+depfiles) directly instead of generating
depend-$(subdir).
(depend-$(subdir)): Target removed.
(common-clean): Don't remove depend-$(subdir).
|
|
|
|
(config-LDFLAGS): Variable removed.
|
|
* 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.
|
|
* malloc/malloc.c (_malloc_internal): Performance fix. Move
if statement out of loop.
* stdio/_itoa.c, stdio/_itoa.h: Complete rewrite. Much faster
implementation using GMP functions. Contributed by
Torbjorn Granlund and Ulrich Drepper.
* stdio/test_rdwr.c: Include <errno.h>.
* sysdeps/i386/i586/Implies: New file.
New highly optimized string functions for i[345]86.
* sysdeps/i386/memchr.S, sysdeps/i386/memcmp.S: New files.
* sysdeps/i386/stpcpy.S, sysdeps/i386/stpncpy.S: New files.
* sysdeps/i386/strchr.S, sysdeps/i386/strcspn.S: New files.
* sysdeps/i386/strpbrk.S, sysdeps/i386/strrchr.S: New files.
* sysdeps/i386/strspn.S, sysdeps/i386/i486/strcat.S: New files.
* sysdeps/i386/i486/strlen.S, sysdeps/i386/i586/strchr.S: New files.
* sysdeps/i386/i586/strlen.S: New file.
* sysdeps/i386/memchr.c: Removed. There is now an assembler version.
* sysdeps/i386/i586/memcopy.h (WORD_COPY_BWD): Parameters did
not correspond to used values.
* sysdeps/unix/sysv/linux/nfs/nfs.h: New file. Simply a wrapper
around a kernel header file.
* sysdeps/unix/sysv/linux/Dist: Add it.
* sysdeps/unix/sysv/linux/Makefile [$(subdir)=sunrpc] (headers):
Likewise.
* sysdeps/unix/sysv/linux/local_lim.h: Rewrite. Instead of
defining ourself we use a kernel header file.
* sysdeps/unix/sysv/linux/i386/sysdep.h (DO_CALL): Optimize system
call handler for i586.
* sysdeps/unix/sysv/linux/sys/param.h: Add copyright and clean up.
Sat Oct 14 02:52:36 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* malloc/malloc.c (_malloc_internal): Performance fix. Move
if statement out of loop.
* stdio/_itoa.c, stdio/_itoa.h: Complete rewrite. Much faster
implementation using GMP functions. Contributed by
Torbjorn Granlund and Ulrich Drepper.
* stdio/test_rdwr.c: Include <errno.h>.
* sysdeps/i386/i586/Implies: New file.
New highly optimized string functions for i[345]86.
* sysdeps/i386/memchr.S, sysdeps/i386/memcmp.S: New files.
* sysdeps/i386/stpcpy.S, sysdeps/i386/stpncpy.S: New files.
* sysdeps/i386/strchr.S, sysdeps/i386/strcspn.S: New files.
* sysdeps/i386/strpbrk.S, sysdeps/i386/strrchr.S: New files.
* sysdeps/i386/strspn.S, sysdeps/i386/i486/strcat.S: New files.
* sysdeps/i386/i486/strlen.S, sysdeps/i386/i586/strchr.S: New files.
* sysdeps/i386/i586/strlen.S: New file.
* sysdeps/i386/memchr.c: Removed. There is now an assembler version.
* sysdeps/i386/i586/memcopy.h (WORD_COPY_BWD): Parameters did
not correspond to used values.
* sysdeps/unix/sysv/linux/nfs/nfs.h: New file. Simply a wrapper
around a kernel header file.
* sysdeps/unix/sysv/linux/Dist: Add it.
* sysdeps/unix/sysv/linux/Makefile [$(subdir)=sunrpc] (headers):
Likewise.
* sysdeps/unix/sysv/linux/local_lim.h: Rewrite. Instead of
defining ourself we use a kernel header file.
* sysdeps/unix/sysv/linux/i386/sysdep.h (DO_CALL): Optimize system
call handler for i586.
* sysdeps/unix/sysv/linux/sys/param.h: Add copyright and clean up.
|
|
apply R_386_PC32 reloc.
|
|
* 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.
|
|
* Makerules (build-shlib): Pass -rpath and -rpath-link options.
(LDFLAGS-c.so): Don't pass -dynamic-linker here.
* Makeconfig (+link): Pass $(sysdep-LDFLAGS).
(link-libc): Pass -rpath and -rpath-link options.
* MakeTAGS (all-dirs): Omit CVS directories.
Specify vpath directives to find source files in $(all-dirs).
(sources, headers): Append sources and headers from $(all-dist) to
these.
(all-dist): Filter them out of this.
(all-headers, all-sources): Use $(shell find ...) instead of
$(wildcard ...).
* sysdeps/mach/hurd/Makefile (sysdep-LDFLAGS): New variable; pass
-rpath-link.
* hurd/hurdexec.c: Pass poly and dealloc args to __file_exec.
* elf/Makefile (install-others): Add missing $.
* mach/Makefile ($(objpfx)errsystems.c): Rule reenabled.
|
|
* Makeconfig (config-LDFLAGS): Define to
-Wl-dynamic-linker=$(libdir)$(rtld-installed-name).
(rtld-installed-name): New variable.
* elf/Makefile (install-lib): Variable removed.
(install-others): Define this instead, to
$(libdir)(rtld-installed-name).
($(libdir)(rtld-installed-name)): New target; install from ld.so.
* elf/ldd.sh.in: New file.
* elf/Makefile (distribute): Add ldd.sh.in.
(install-bin): Add ldd.
($(objpfx)ldd: ldd.sh.in): New rule.
* sysdeps/mach/hurd/dl-sysdep.c: Use __hurd_fail throughout.
* hurd/hurd.h (__hurd_fail): Replace macro with inline function.
Translate some Mach errors to Hurd errors.
* elf/rtld.c (dl_main): Under --list, print msg if executable is
statically linked.
* elf/dl-load.c (_dl_map_object_from_fd): Rewrote program header
table processing.
Sat Oct 7 01:25:48 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/stub/machine-gmon.h: Add #error.
Fri Oct 6 01:49:48 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* elf/dynamic-link.h (elf_get_dynamic_info): If DYN is null, don't
examine it.
|
|
Rewrite mktime from scratch for performance, and for correctness
in the presence of leap seconds.
* time/mktime.c (ydhms_tm_diff, not_equal_tm, print_tm, check_result):
New functions.
(LEAP_SECONDS_POSSIBLE, CHAR_BIT, INT_MIN, INT_MAX,
TIME_T_MIN, TIME_T_MAX, TM_YEAR_BASE, EPOCH_YEAR): New macros.
<limits.h>, <stdlib.h>: New #includes.
(main): Support tests with given broken-down value; support benchmarks.
(__mon_lengths, debugging_enabled, printtm, dist_tm, doit,
do_normalization, normalize, BAD_STRUCT_TM, SKIP_VALUE,
<ctype.h>): Remove.
* time/time.h, time/mktime.c (__mktime_internal): New offset arg.
* time/mktime.c (mktime), time/timegm.c (timegm): Use it.
* time/mktime.c (__mon_yday): New variable; replaces `__mon_lengths'.
time/offtime.c (__offtime), time/tzset.c (compute_change): Use it.
* time/offtime.c (__offtime): Remove useless assignment
`tp->tm_isdst = -1'.
* manual/maint.texi: Update credits.
Fri Oct 6 00:28:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/unix/common/readv.S: Moved to sysdeps/unix/bsd.
* sysdeps/unix/common/writev.S: Moved to sysdeps/unix/bsd.
* sysdeps/unix/sysv/linux/readv.c: File removed.
* sysdeps/unix/sysv/linux/writev.c: File removed.
* sysdeps/unix/configure.in: Check for readv and writev syscalls.
* sysdeps/unix/configure.in: If eval doesn't set $unix_srcname,
set it to $unix_syscall instead of $unix_function.
|
|
* elf/rtld.c (dl_main): Grok --list flag.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_start): Ignore -- args.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_message): New function.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_message): New function.
* elf/link.h (_dl_sysdep_message): Declare it.
|
|
the list.
* time/northamerica: Corrections to Canada data from ADO 95i.
* sysdeps/unix/sysv/linux/Makefile (headers): Don't append to this
unconditionally. In socket subdir, append sys/socketcall.h; in
time subdir, append sys/timex.h.
(config-LDFLAGS): New variable.
* sysdeps/unix/sysv/linux/Dist: New file.
* Makeconfig (+link): Pass $(config-LDFLAGS) before $(LDFLAGS).
|
|
* sysdeps/generic/stpncpy.c: Don't increment DEST when zero-filling.
* elf/dlopen.c (dlopen): Don't pass USER_ENTRY arg to _dl_map_object.
|
|
kernel with args on stack, point _dl_hurd_data at zero data
instead of garbage. When ld.so run as program, grok args
-LIB=MEMOBJ and pre-load shared object files found in memory
objects loaded by the boot loader.
* elf/link.h (struct link_map): New member `l_entry'.
(_dl_map_object, _dl_map_object_from_fd): Remove last arg ENTRY_POINT.
* elf/dl-load.c (_dl_map_object, _dl_map_object_from_fd): Remove
last arg ENTRY_POINT. Store the entry point location in the
`l_entry' member of the new map.
* elf/rtld.c (dl_main): Don't pass USER_ENTRY arg to
_dl_map_object. When run as program, set *USER_ENTRY to L->l_entry.
* elf/dl-init.c (_dl_init_next): Don't pass ENTRY_POINT arg to
_dl_map_object.
|
|
* posix/tstgetopt.c, posix/tstgetopt.args: Test long options too.
* sysdeps/unix/sysv/linux/i386/init-first.c (init): Save, set, and
restore %ebx by hand for personality syscall.
GCC cannot deal with spilling the dedicated GOT register.
* misc/Makefile (routines): Add mntent, which was somehow omitted.
Fri Sep 29 15:07:10 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de>
* sysdeps/unix/sysv/linux/adjtime.c (__adjtime):
Change name of field `mode' in `struct timex' to `modes'.
Linux-1.3.28 updates this name according to RFC 1489.
|
|
Merge new message handling code from GNU gettext, by Drepper.
* intl: New directory.
* Makefile (subdirs): Add intl.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Return
USER_ENTRY instead of storing it on our stack.
* elf/rtld.c (rtld_command): Variable removed.
(_dl_skip_args): New variable.
(dl_main): Increment _dl_skip_args instead of setting rtld_command.
If the link_map for the executable itself is not first in the chain,
make it so.
* sysdeps/i386/dl-machine.h (RTLD_START): Use _dl_skip_args as
count of args to skip.
Thu Sep 28 09:20:04 1995 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* stdlib/strtod.c (STRTOF): Fix handling of numbers with lots of
leading zeroes.
|
|
(getcwd): Define as weak alias.
* sysdeps/posix/getcwd.c: Likewise.
* sysdeps/stub/getcwd.c: Likewise.
* posix/unistd.h: Declare __getcwd.
* string/string.h: Declare __strcasecmp.
* sysdeps/generic/strcasecmp.c (__strcasecmp): Renamed from
strcasecmp.
(strcasecmp): Define as weak alias.
* string/string.h: Declare __stpcpy.
* sysdeps/generic/stpcpy.c (__stpcpy): Renamed from stpcpy.
(stpcpy): Define as weak alias.
|
|
|
|
Don't use `type' for arg name, since we are using it as a keyword
in the rhs.
* sysdeps/unix/configure.in: Check for syscalls getpriority,
setpriority, getrlimit, setrlimit.
* sysdeps/posix/truncate.c: Include fcntl.h.
* sysdeps/generic/getdomain.c: Include string.h for strncpy decl.
* sysdeps/stub/getpriority.c: Don't include obsolete gnu-stabs.h;
use new stub_warning syntax.
* sysdeps/stub/setpriority.c: Likewise.
* sysdeps/stub/__longjmp.c: Likewise.
* sysdeps/stub/_exit.c: Likewise.
* sysdeps/stub/accept.c: Likewise.
* sysdeps/stub/acos.c: Likewise.
* sysdeps/stub/alarm.c: Likewise.
* sysdeps/stub/asin.c: Likewise.
* sysdeps/stub/atan2.c: Likewise.
* sysdeps/stub/bind.c: Likewise.
* sysdeps/stub/cbrt.c: Likewise.
* sysdeps/stub/chroot.c: Likewise.
* sysdeps/stub/closedir.c: Likewise.
* sysdeps/stub/connect.c: Likewise.
* sysdeps/stub/cos.c: Likewise.
* sysdeps/stub/cosh.c: Likewise.
* sysdeps/stub/ctermid.c: Likewise.
* sysdeps/stub/cuserid.c: Likewise.
* sysdeps/stub/defs.c: Likewise.
* sysdeps/stub/exp.c: Likewise.
* sysdeps/stub/fmod.c: Likewise.
* sysdeps/stub/frexp.c: Likewise.
* sysdeps/stub/fsync.c: Likewise.
* sysdeps/stub/getcwd.c: Likewise.
* sysdeps/stub/getenv.c: Likewise.
* sysdeps/stub/gethostid.c: Likewise.
* sysdeps/stub/getlogin.c: Likewise.
* sysdeps/stub/getpeername.c: Likewise.
* sysdeps/stub/getrlimit.c: Likewise.
* sysdeps/stub/getsockname.c: Likewise.
* sysdeps/stub/getsockopt.c: Likewise.
* sysdeps/stub/listen.c: Likewise.
* sysdeps/stub/log.c: Likewise.
* sysdeps/stub/log10.c: Likewise.
* sysdeps/stub/mkfifo.c: Likewise.
* sysdeps/stub/morecore.c: Likewise.
* sysdeps/stub/nice.c: Likewise.
* sysdeps/stub/nlist.c: Likewise.
* sysdeps/stub/opendir.c: Likewise.
* sysdeps/stub/pipestream.c: Likewise.
* sysdeps/stub/ptrace.c: Likewise.
* sysdeps/stub/putenv.c: Likewise.
* sysdeps/stub/readdir.c: Likewise.
* sysdeps/stub/reboot.c: Likewise.
* sysdeps/stub/recv.c: Likewise.
* sysdeps/stub/recvfrom.c: Likewise.
* sysdeps/stub/rename.c: Likewise.
* sysdeps/stub/rewinddir.c: Likewise.
* sysdeps/stub/seekdir.c: Likewise.
* sysdeps/stub/send.c: Likewise.
* sysdeps/stub/sendto.c: Likewise.
* sysdeps/stub/setegid.c: Likewise.
* sysdeps/stub/seteuid.c: Likewise.
* sysdeps/stub/setgroups.c: Likewise.
* sysdeps/stub/sethostid.c: Likewise.
* sysdeps/stub/sethostname.c: Likewise.
* sysdeps/stub/setjmp.c: Likewise.
* sysdeps/stub/setrlimit.c: Likewise.
* sysdeps/stub/setsockopt.c: Likewise.
* sysdeps/stub/shutdown.c: Likewise.
* sysdeps/stub/signal.c: Likewise.
* sysdeps/stub/sigsuspend.c: Likewise.
* sysdeps/stub/sin.c: Likewise.
* sysdeps/stub/sinh.c: Likewise.
* sysdeps/stub/socket.c: Likewise.
* sysdeps/stub/socketpair.c: Likewise.
* sysdeps/stub/sqrt.c: Likewise.
* sysdeps/stub/sync.c: Likewise.
M sysd-stdio.c
* sysdeps/stub/system.c: Likewise.
* sysdeps/stub/tan.c: Likewise.
* sysdeps/stub/tanh.c: Likewise.
* sysdeps/stub/tcdrain.c: Likewise.
* sysdeps/stub/tcflow.c: Likewise.
* sysdeps/stub/tcgetpgrp.c: Likewise.
* sysdeps/stub/tcsendbrk.c: Likewise.
* sysdeps/stub/tcsetattr.c: Likewise.
* sysdeps/stub/tcsetpgrp.c: Likewise.
* sysdeps/stub/telldir.c: Likewise.
* sysdeps/stub/tempname.c: Likewise.
* sysdeps/stub/ttyname.c: Likewise.
* sysdeps/stub/ttyname_r.c: Likewise.
* sysdeps/stub/utime.c: Likewise.
* gmon/gmon.c (moncontrol): Don't cast buffer arg to profil.
* time/mktime.c (localtime_r): Use 0 instead of NULL.
|
|
gettext code.
* sysdeps/unix/sysv/linux/sys/param.h: New file.
* sysdeps/unix/sysv/linux/Subdirs: File removed.
* libc-symbols.h (_LIBC): Define to 1, not just empty.
|
|
* gmon: New directory of profiling code, incorporated from
4.4BSD-Lite and modified.
* sysdeps/i386/machine-gmon.h: New file.
* sysdeps/stub/machine-gmon.h: New file.
* sysdeps/mach/hurd/profil.c: New file.
* sysdeps/stub/profil.c: New file.
* sysdeps/unix/bsd/profil.S: New file.
* Makefile (subdirs): Add gmon.
* csu/gmon-start.c: New file.
* csu/Makefile (extra-objs): Add gmon-start.o,
g$(start-installed-name).
(install-lib, omit-deps): Add g$(start-installed-name).
($(objpfx)g$(start-installed-name)): New target.
|
|
* sysdeps/mach/hurd/Makefile: Elide sunrpc from $(subdirs) for the
time being.
* sysdeps/unix/configure.in: Check for `profil' syscall.
|
|
* sysdeps/stub/sys/sem_buf.h (union semun): New type.
* sysdeps/mach/hurd/i386/init-first.c (init1) [PIC]: Call
__libc_global_ctors.
* sysdeps/i386/init-first.c: Rewritten.
* sysdeps/unix/sysv/linux/i386/init-first.S: File removed.
* sysdeps/unix/sysv/linux/i386/init-first.c: New file.
* sysdeps/unix/sysv/linux/i386/fpu_control.h: Fix name in decl of
___fpu_control.
* Makerules (build-shlib): New canned sequence, broken out of
lib%.so rule. Link in $^ instead of just $<.
(lib%.so: lib%_pic.a): Use it.
(libc.so): New target; use $(build-shlib) for cmds, but also depend
on soinit.so first and sofini.so last.
* elf/soinit.c: New file.
* elf/sofini.c: New file.
* elf/Makefile (distribute): Add soinit.c and sofini.c.
(extra-objs): Add soinit.so and sofini.so.
* sysvipc/sys/shm.h (shmat): Fix return type to char *.
* sysdeps/stub/sys/ipc_buf.h (key_t): Type removed.
* misc/syslog.c (vsyslog): Rewritten using open_memstream to
dynamically allocate buffers.
* Makerules (install-lib-nosubdir): Make this, rather than
install-no-libc.a, depend on the installed shared libraries.
|
|
* locale/locale.c: Include errno.h.
* locale/localedef.c: Likewise.
Tue Sep 19 00:02:06 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* Makefile (distclean-1): Remove config.cache, config.log, config.h.
(parent-mostlyclean): Remove all flavors of the parent library.
* misc/mntent.c (getmntent): Skip multiple whitespace chars
between fields.
* hurd/hurdstartup.c (_hurd_startup): If RPC returns
EXEC_STACK_ARGS flag, get args from stack.
If args on stack but have info from RPC, relocate args on stack to make
space for struct hurd_startup_data.
* elf/dl-object.c: Include errno.h.
* posix/execvp.c: Likewise.
* dirent/scandir.c: Likewise.
* sysdeps/posix/system.c: Likewise.
* sysdeps/generic/setenv.c: Likewise.
* stdlib/msort.c: Likewise.
* stdio/memstream.c: Likewise.
* stdio/fclose.c: Likewise.
* stdio/getdelim.c: Likewise.
* stdio/setvbuf.c: Likewise.
* sysdeps/ieee754/ldexp.c: Likewise.
* locale/locfile-parse.c: Likewise.
* stdlib/lcong48_r.c: Don't check for null argument; let it fault.
* stdlib/seed48_r.c: Likewise.
* stdlib/srand48_r.c: Likewise.
* stdlib/jrand48_r.c: Likewise.
* stdlib/nrand48_r.c: Likewise.
* misc/search.h: Many decls for hsearch functions.
|
|
* mktime.c (localtime_r): Add substitute if the system doesn't
provide one.
Mon Sep 18 14:39:20 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* time/gmtime.c (gmtime_r): Define as weak alias.
* time/localtime.c (localtime_r): Define as weak alias.
* time/time.h [__USE_REENTRANT] (gmtime_r, localtime_r): Declare them.
* errno.h: Only define _ERRNO_H #ifndef __need_Emath.
#undef __need_Emath after including errnos.h.
[_ERRNO_H]: Protect decls with this.
Sun Sep 17 08:22:12 1995 Paul Eggert <eggert@twinsun.com>
Fix mktime so that it does not write over localtime's returned value.
* localtime.c (__localtime_r): New function, with extra arg
specifying where to store result.
(localtime): Use it.
(_tmbuf): New var.
* gmtime.c (__gmtime_r, gmtime, _tmbuf): Likewise.
* mktime.c (__mktime_internal): Conversion function is now
__localtime_r style, not localtime style.
(mktime): Pass __localtime_r, not localtime.
* timegm.c (timegm): Pass __gmtime_r, not gmtime.
* offtime.c (__offtime): New arg specifying where to store result.
* time.h (__mktime_internal, __offtime): Adjust decls accordingly.
(__gmtime_r, __localtime_r): New decls.
* time/localtime.c: <stddef.h>, <ctype.h>, <stdio.h>,
<stdlib.h>, <string.h>: Remove includes.
<errno.h>: Add include.
* time/mktime.c, time/time.h, time/timegm.c (__mktime_internal):
Renamed from _mktime_internal to avoid namespace pollution.
* time/gmtime.c: Clear tm_isdst.
* misc/efgcvt_r.c (ecvt_r, fcvt_r): Last arg is size_t, not int.
* stdlib/stdlib.h (ecvt_r, fcvt_r): Fix type of last arg: make it
size_t.
* sysdeps/mach/hurd/fpathconf.c: Call __io_pathconf instead of
__file_pathconf.
* sysdeps/mach/hurd/pathconf.c: Likewise.
|
|
* sysdeps/mach/hurd/truncate.c: Call __file_set_size instead of
__file_truncate.
* sysdeps/mach/hurd/ftruncate.c: Likewise.
* sysdeps/unix/sysv/linux/dl-machine.h: File removed.
|
|
* elf/elf.h (AT_GID): Fix typo: Read -> Real.
* misc/efgvt_r.c: New file. Reentrant version of [efg]cvt functions.
* misc/efgcvt.c: Rewrite to use reentrant functions.
* misc/hsearch_r.c: New file. Reentrant version of functions from
hsearch family.
* misc/hsearch.c, misc/tsearch.c: New files.
* misc/Makefile (routines): Add efgcvt_r, hsearch_r, hsearch, tsearch.
* posix/unistd.h (ttyname_r): Add prototype for new function.
* stdlib/drand48_r.c, stdlib/erand48_r.c, stdlib/jrand48_r.c,
stdlib/lrand48_r.c, stdlib/mrand48_r.c, stdlib/nrand48_r.c,
stdlib/seed48_r.c, stdlib/srand48_r.c, stdlib/lcong48_r.c,
stdlib/drand48-iter.c: New files implementing reentrant versions
of functions from drand48 family.
* stdlib/seed48.c, stdlib/drand48.c, stdlib/erand48.c,
stdlib/jrand48.c, stdlib/lrand48.c, stdlib/mrand48.c,
stdlib/nrand48.c, stdlib/srand48.c, stdlib/lcong48.c:
Rewrite to use reentrant versions.
* stdlib/a64l.c, stdlib/l64a.c: New files. Implement a64l()
and l64a() functions from SysV library.
* stdlib/Makefile (routines): Add drand48_r, erand48_r, lrand48_r,
nrand48_r, mrand48_r, jrand48_r, srand48_r, seed48_r, lcong48_r,
drand48-iter, a64l, l64a.
* stdlib/stdlib.h: Declare them.
* stdlib/random_r.c: New file. Reentrant version of functions
from random family.
* stdlib/stdlib.h: Declare them.
* stdlib/random.c: Rewrite to use reentrant functions.
* string/strerror_r.c: New file. Reentrant version.
* string/strerror.c: Change for new _strerror_internal form.
* string/Makefile (routines): Add strerror_r.
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Set default
value of user_entry to `_start'.
Close AT_ENTRY case with `break'.
* sysdeps/generic/strstr.c: New and much faster implementation
by Stephen R. van den Berg.
* sysdeps/generic/_strerror.c: _strerror_internal now takes
three argument and has and explicit buffer length.
* sysdeps/mach/_strerror.c: Change for new interface with three
arguments.
* stdio/perror.c, stdio/vfprintf.c: Callers changed.
* sysdeps/mach/hurd/ttyname_r.c: New file. Reentrant version.
* sysdeps/posix/ttyname_r.c: New file. Reentrant version.
* sysdeps/stub/ttyname_r: New file. Define as dummy function.
* sysdeps/posix/utimes.c: Include <utime.h> for prototype.
(utimes): First parameter to utime must be file, not path.
* sysdeps/posix/sysconf.c (__sysconf): Test for CLK_TCK in case
_SC_CLK_TCK and return it when available.
Test for STREAM_MAX in case _SC_STREAM_MAX and return it when
available.
Add case for _SC_2_LOCALEDEF which is now available.
* posix/sys/types.h [__USE_SVID] (key_t): New type.
* sysvipc/Makefile, sysvipc/ftok.c, sysvipc/sys/ipc.h,
sysvipc/sys/msg.h, sysvipc/sys/sem.h, sysvipc/sys/shm.h,
sysdeps/stub/sys/msq_buf.h, sysdeps/stub/sys/sem_buf.h,
sysdeps/stub/sys/shm_buf.h, sysdeps/stub/sys/ipc_buf.h,
sysdeps/stub/semctl.c, sysdeps/stub/semget.c, sysdeps/stub/semop.c,
sysdeps/stub/shmat.c, sysdeps/stub/shmctl.c, sysdeps/stub/shmdt.c,
sysdeps/stub/shmget.c, sysdeps/stub/msgctl.c, sysdeps/stub/msgget.c,
sysdeps/stub/msgrcv.c, sysdeps/stub/msgsnd.c: New files.
Add implementation of System V IPC.
|
|
Fri Sep 8 16:32:12 1995 Ulrich Drepper <drepper@gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/Implies,
sysdeps/unix/sysv/linux/Makefile, sysdeps/unix/sysv/linux/Subdirs,
sysdeps/unix/sysv/linux/accept.S, sysdeps/unix/sysv/linux/adjtime.c,
sysdeps/unix/sysv/linux/adjtimex.S, sysdeps/unix/sysv/linux/bind.S,
sysdeps/unix/sysv/linux/connect.S, sysdeps/unix/sysv/linux/direct.h,
sysdeps/unix/sysv/linux/dl-machine.h, sysdeps/unix/sysv/linux/errnos.h,
sysdeps/unix/sysv/linux/fork.S, sysdeps/unix/sysv/linux/gethostid.c,
sysdeps/unix/sysv/linux/gethostname.C,
sysdeps/unix/sysv/linux/getpeername.S,
sysdeps/unix/sysv/linux/getpgid.S, sysdeps/unix/sysv/linux/getpgrp.S,
sysdeps/unix/sysv/linux/getsockname.S,
sysdeps/unix/sysv/linux/getsockopt.S, sysdeps/unix/sysv/linux/gtty.S,
sysdeps/unix/sysv/linux/listen.S, sysdeps/unix/sysv/linux/local_lim.h,
sysdeps/unix/sysv/linux/madvise.c, sysdeps/unix/sysv/linux/msgctl.c,
sysdeps/unix/sysv/linux/msgget.c, sysdeps/unix/sysv/linux/msgrcv.c,
sysdeps/unix/sysv/linux/msgsnd.c, sysdeps/unix/sysv/linux/pipe.S,
sysdeps/unix/sysv/linux/poll.c, sysdeps/unix/sysv/linux/readv.c,
sysdeps/unix/sysv/linux/recv.S, sysdeps/unix/sysv/linux/recvfrom.S,
sysdeps/unix/sysv/linux/recvmsg.S, sysdeps/unix/sysv/linux/semctl.c,
sysdeps/unix/sysv/linux/semget.c, sysdeps/unix/sysv/linux/semop.c,
sysdeps/unix/sysv/linux/send.S, sysdeps/unix/sysv/linux/sendmsg.S,
sysdeps/unix/sysv/linux/sendto.S, sysdeps/unix/sysv/linux/setegid.c,
sysdeps/unix/sysv/linux/seteuid.c, sysdeps/unix/sysv/linux/sethostid.c,
sysdeps/unix/sysv/linux/setpgid.c, sysdeps/unix/sysv/linux/setpgrp.c,
sysdeps/unix/sysv/linux/setsid.S, sysdeps/unix/sysv/linux/setsockopt.S,
sysdeps/unix/sysv/linux/settimeofday.S,
sysdeps/unix/sysv/linux/shmat.c, sysdeps/unix/sysv/linux/shmctl.c,
sysdeps/unix/sysv/linux/shmdt.c, sysdeps/unix/sysv/linux/shmget.c,
sysdeps/unix/sysv/linux/shutdown.S,
sysdeps/unix/sysv/linux/sigaction.S, sysdeps/unix/sysv/linux/signal.S,
sysdeps/unix/sysv/linux/sigpending.S, sysdeps/unix/sysv/linux/sigset.h,
sysdeps/unix/sysv/linux/sockaddrcom.h,
sysdeps/unix/sysv/linux/socketpair.S, sysdeps/unix/sysv/linux/speed.c,
sysdeps/unix/sysv/linux/statbuf.h, sysdeps/unix/sysv/linux/stty.S,
sysdeps/unix/sysv/linux/syscall.h, sysdeps/unix/sysv/linux/sysconf.c,
sysdeps/unix/sysv/linux/tcdrain.c, sysdeps/unix/sysv/linux/tcflow.c,
sysdeps/unix/sysv/linux/tcflush.c, sysdeps/unix/sysv/linux/tcgetattr.c,
sysdeps/unix/sysv/linux/tcsetattr.c,
sysdeps/unix/sysv/linux/termbits.h, sysdeps/unix/sysv/linux/ualarm.c,
sysdeps/unix/sysv/linux/ulimit.c, sysdeps/unix/sysv/linux/usleep.c,
sysdeps/unix/sysv/linux/utsnamelen.h, sysdeps/unix/sysv/linux/vfork.c,
sysdeps/unix/sysv/linux/wait.c, sysdeps/unix/sysv/linux/wait4.S,
sysdeps/unix/sysv/linux/waitpid.c, sysdeps/unix/sysv/linux/writev.c:
New Linux/ELF specific, architecture independent files.
sysdeps/unix/sysv/linux/i386/Dist,
sysdeps/unix/sysv/linux/i386/Makefile,
sysdeps/unix/sysv/linux/i386/brk.S,
sysdeps/unix/sysv/linux/i386/fcntlbits.h,
sysdeps/unix/sysv/linux/i386/fpu_control.c,
sysdeps/unix/sysv/linux/i386/fpu_control.h,
sysdeps/unix/sysv/linux/i386/fstat.S,
sysdeps/unix/sysv/linux/i386/fxstat.S,
sysdeps/unix/sysv/linux/i386/ieee_fpu.c,
sysdeps/unix/sysv/linux/i386/init-first.S,
sysdeps/unix/sysv/linux/i386/ipc.S,
sysdeps/unix/sysv/linux/i386/lstat.S,
sysdeps/unix/sysv/linux/i386/lxstat.S,
sysdeps/unix/sysv/linux/i386/mknod.S,
sysdeps/unix/sysv/linux/i386/mmap.S,
sysdeps/unix/sysv/linux/i386/sbrk.S,
sysdeps/unix/sysv/linux/i386/setfpucw.c,
sysdeps/unix/sysv/linux/i386/signum.h,
sysdeps/unix/sysv/linux/i386/socket.S,
sysdeps/unix/sysv/linux/i386/stat.S,
sysdeps/unix/sysv/linux/i386/syscall.S,
sysdeps/unix/sysv/linux/i386/sysdep.S,
sysdeps/unix/sysv/linux/i386/sysdep.h,
sysdeps/unix/sysv/linux/i386/xmknod.S,
sysdeps/unix/sysv/linux/i386/xstat.S:
New Linux i386/ELF specific files.
sysdeps/unix/sysv/linux/sys/ipc_buf.h,
sysdeps/unix/sysv/linux/sys/mman.h,
sysdeps/unix/sysv/linux/sys/msq_buf.h,
sysdeps/unix/sysv/linux/sys/sem_buf.h,
sysdeps/unix/sysv/linux/sys/shm_buf.h,
sysdeps/unix/sysv/linux/sys/socketcall.h,
sysdeps/unix/sysv/linux/sys/timex.h:
New Linux/ELF specific, architecture independent header files.
|
|
jmp_buf.
|
|
* libc-symbols.h (link_warning): Take new first arg SYMBOL; ask
for a warning on references to that specific symbol, not the
entire containing object file.
(stub_warning): Pass symbol name to link_warning.
* stdio/gets.c: Pass function name in link_warning invocation.
* hurd/intr-msg.c: Treat apparent EINTR return from msg trap like
MACH_SEND_INTERRUPTED. That indicates interrupt_operation was
sent, but failed.
* stdlib/msort.c: Include memcopy.h.
(msort_with_tmp): If operating on aligned op_t words, use direct word
fetches and stores.
* sysdeps/i386/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC): Add
missing backslash.
|
|
Thu Aug 31 13:23:35 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/unix/i386/brk.S [PIC]: Set __curbrk through the GOT.
Rewrote i386 setjmp code in assembly, so as to avoid fighting
with the compiler for the register values.
* sysdeps/i386/setjmp.S, sysdeps/i386/__longjmp.S: New files.
* sysdeps/i386/setjmp.c, sysdeps/i386/__longjmp.c: Files removed.
* sysdeps/i386/jmp_buf.h [! _ASM] (__jmp_buf): Define as array of ints.
[__USE_MISC || _ASM] (JB_*): New macros, for indices therein.
(_JMPBUF_UNWINDS): Use JB_SP.
|
|
* sysdeps/mach/hurd/select.c: Deal with out of order replies
during io_select request loop.
Handle MACH_RCV_TIMED_OUT error from requests.
* hurd/intr-msg.c: If the user passed the MACH_RCV_TIMEOUT option,
distinguish MACH_RCV_TIMED_OUT from EINTR.
* posix/glob.c (glob): Use realloc to extend strings for GLOB_MARK
slash.
(glob_in_dir): Don't allocate extra byte here.
* sysdeps/i386/dl-machine.h (ELF_MACHINE_BEFORE_RTLD_RELOC):
Decrement the DT_RELSZ value for the skipped reloc.
|
|
instead of `DIR'.
* sysdeps/unix/bsd/dirstream.h: Likewise.
* sysdeps/stub/dirstream.h: Likewise.
* sysdeps/unix/dirstream.h: Likewise.
* sysdeps/mach/hurd/telldir.c: Include "dirstream.h".
* sysdeps/mach/hurd/seekdir.c: Likewise.
* sysdeps/mach/hurd/opendir.c: Likewise.
* sysdeps/mach/hurd/closedir.c: Likewise.
* sysdeps/mach/hurd/readdir.c: Likewise.
* sysdeps/unix/telldir.c: Likewise.
* sysdeps/unix/seekdir.c: Likewise.
* sysdeps/unix/rewinddir.c: Likewise.
* sysdeps/unix/readdir.c: Likewise.
* sysdeps/unix/opendir.c: Likewise.
* sysdeps/unix/closedir.c: Likewise.
* sysdeps/unix/bsd/telldir.c: Likewise.
* sysdeps/unix/bsd/readdir.c: Likewise.
* dirent/Makefile (headers): Remove dirstream.h.
(distribute): Put it here instead.
|
|
* sysdeps/mach/hurd/mmap.c: Fix inverted test of MAP_FIXED.
* stdio/vfscanf.c (number): Allow field width to inhibit first
digit after base detection.
* stdio/vfprintf.c (vfprintf: %s): Never search past the limit
specified by the precision.
* grp/grpread.c (__grpscan): New function.
* grp/grp.h (__grpscan): Declare it.
* grp/getgrgid.c: Use __grpscan.
* grp/getgrnam.c: Likewise.
* pwd/pwdread.c (__pwdscan): New function.
* pwd/pwd.h (__pwdscan): Declare it.
* pwd/getpwnam.c: Use __pwdscan.
* pwd/getpwuid.c: Likewise.
Thu Aug 24 16:29:40 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/mach/hurd/mmap.c: Treat (FLAGS & MAP_TYPE) == 0 like
MAP_FILE.
* hurd/thread-cancel.c: Return EINTR when called on self.
* sysdeps/i386/elf/start.S (data_start): Define as weak alias for
__data_start.
|
|
* inet/netdb.h: Moved to resolv.
* inet/Makefile (headers): Remove netdb.h.
* resolv/Makefile (headers): Add netdb.h.
* resolv/gethnamaddr.c, resolv/inet_addr.c, resolv/netdb.h,
resolv/res_send.c: Updated from BIND-4.9.3-BETA26.
* hurd/thread-cancel.c: If SS->cancel_hook is not null, call it before
resuming the thread.
* hurd/hurd/signal.h (struct hurd_sigstate): New member `cancel_hook'.
* hurd/Makefile: Removed dep on hurd/signal.h for RPC stub objects.
Mon Aug 21 16:37:09 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* sysdeps/i386/dl-machine.h (elf_machine_rel): Grok R_386_NONE
relocs, and do nothing. Why the linker generates them we may
never know.
* sysdeps/mach/hurd/i386/intr-msg.h: New file.
|
|
|
|
`subdirs' variable.
|
|
* hurd/intr-msg.c: Use INTR_MSG_TRAP macro from machine-dependent
"intr-msg.h" for special syscall code, instead of i386-specific asm.
* hurd/hurdsig.c: Use INTR_MSG_BACK_OUT macro from
machine-dependent "intr-msg.h" before mutating thread state to
skip RPC.
* sysdeps/mach/hurd/i386/trampoline.c: If PC is inside
_hurd_intr_rpc_mach_msg special syscall code, use real SP saved in
%ecx.
* Makeconfig (link-libc): New variable; use shared library if
available.
(+link): Use it.
* sysdeps/mach/hurd/fork.c (_hurd_fork_locks): Variable removed.
Instead, declare with `symbol_set_declare'.
(fork): Use symbol_set_* macros for _hurd_fork_locks.
Use SS->thread instead of __mach_thread_self (). Suspend all
other threads during task_create and port copying.
|
|
|
|
* hurd/thread-cancel.c: New file.
* sysdeps/mach/hurd/i386/trampoline.c (_hurd_setup_sighandler): In
rpc_wait case, frob mach_msg args to set timeout on receive.
(_hurdsig_rcv_interrupted_p): Function removed.
* sysdeps/mach/hurd/alpha/trampoline.c: Likewise.
* sysdeps/mach/hurd/hppa/trampoline.c: Likewise.
* sysdeps/mach/hurd/mips/trampoline.c: Likewise.
* hurd/intr-msg.c: New file.
* hurd/hurd/signal.h (struct hurd_sigstate): New member `cancel'.
(_hurdsig_rcv_interrupted_p): Declaration removed.
(HURD_EINTR_RPC): Macro removed.
(_hurd_longjmp_thread_state, _hurd_interrupted_rpc_timeout): Declare
these.
* hurd/intr-rpc.h: New file.
* hurd/intr-rpc.defs: Just import intr-rpc.h.
* hurd/hurdsig.c (_hurd_interrupted_rpc_timeout): New variable.
(interrupted_reply_port_location): Take new flag arg; only catch
faults if it's set.
(abort_rpcs): Rename to _hurdsig_abort_rpcs; take same new flag arg.
No longer use _hurdsig_rcv_interrupted_p; instead compare PC to
&_hurd_intr_rpc_msg_in_trap. If before it, mutate state to simulate
MACH_SEND_INTERRUPTED return; on it, interrupt the operation. All
callers changed.
* hurd/hurd.h (hurd_thread_cancel, hurd_check_cancel): Declare these.
* hurd/Makefile (distribute): Remove intr-rpc.awk.
(sig): Add thread-cancel.
(transform-user-stub, transform-user-stub-output): Variables removed.
* sysdeps/mach/hurd/dl-sysdep.c: Change all RPCs from
`__hurd_intr_rpc_*' to `__*'.
(_hurd_intr_rpc_mach_msg): New function.
(_hurd_thread_sigstate): Function removed.
* sysdeps/mach/hurd/ioctl.c: Use _hurd_intr_rpc_mach_msg function,
instead of __mach_msg inside HURD_EINTR_RPC macro.
* sysdeps/generic/morecore.c [__GNU_LIBRARY__]: Declare `__sbrk'
to take ptrdiff_t arg.
* sysdeps/mach/hurd/fork.c: Remove _hurd_longjmp_thread_state decl.
* sysdeps/mach/hurd/kill.c (kill_pid): Don't make `inline'.
* libc-symbols.h [GCC >= 2.7] (strong_alias, weak_symbol,
weak_alias): Use `extern' storage class.
|
|
|
|
|
|
* sysdeps/generic/sysd-stdio.c (__stdio_reopen): Return failure
when __stdio_open fails with a code other than ENFILE or EMFILE.
* csu/initfini.c (SECTION): New macro, different definitions for
#ifdef HAVE_ELF and not.
(_init, _fini): Use that macro.
* config.make.in (have-initfini): New variable, set by configure.
* conf/portability.h (NEED_INETADDR, NEED_INETATON): New macros.
|
|
return a zero-length buffer instead.
|
|
lookup the translated node again, and hope we're not hit by any race conditions.
|
|
[$(have-initfini)=yes]: Test this rather than $(elf) for crtstuff.
[start-installed-name-rule]: If this is defined, elide rule for
$(objpfx)$(start-installed-name).
* sysdeps/unix/sysv/sco3.2.4/Makefile [$(subdir)=csu]
(start-installed-rule, start-installed-name-rule): New variables;
specify crt1.o, created by our own rule.
($(objpfx)crt1.o): New rule.
* configure.in: Require autoconf 2.4.2 or later. Change all
AC_CACHE_VAL uses to use new AC_CACHE_CHECK macro instead;
prettify some messages.
[$elf!=yes] (libc_cv_have_initfini): New test for `.init' and `.fini'
sections.
* munch-tmpl.c [HAVE_INITFINI]: Call _init and atexit (_fini) in
this case rather than #ifdef HAVE_ELF.
* config.h.in (HAVE_INITFINI): New macro.
|
|
|
|
* sysdeps/unix/sysv/ftime.S: New file.
* locale/locfile-parse.c (categories_write): Cast "" to char *.
* io/fcntl.h [__OPTIMIZE__] (creat): Macro removed.
* time/strftime.c: Use year modulo 100 for %y.
* time/sys/timeb.h: Add __BEGIN_DECLS and __END_DECLS.
* sysdeps/unix/snarf-ioctls (snarfexclude): Use two sed's instead
of one, to work around bug in sunos4.1.2 sed.
|
|
* sysdeps/posix/pathconf.c: New file.
|