1998-09-18 17:41 Ulrich Drepper <drepper@cygnus.com>
* libio/fileops.c (_IO_new_file_underflow): Before allocating
buffer make sure the pushback buffer is destroyed.
(_IO_new_file_seekoff): Likewise.
If mode==0 quit early with the result.
Clear OEF flag after successful fseek.
* libio/libio.h (_IO_FILE_complete): Add _IO_save_ptr.
* libio/ftello.c (ftello): Add offset from original buffer if
stream has pushed back characters.
* libio/ftello64.c (ftello64): Likewise.
* libio/iofgetpos.c (_IO_fgetpos): Likewise.
* libio/iofgetpos64.c (_IO_fgetpos64): Likewise.
* libio/ioftell.c (_IO_ftell): Likewise.
* libio/genops.c (_IO_switch_to_main_get_area): Swap _IO_read_ptr
and _IO_save_ptr.
(_IO_switch_to_backup_area): Save _IO_read_ptr in _IO_save_ptr.
(_IO_default_pbackfail): Only stored push back character in original
buffer if it is the same as the one in the file at this position.
* libio/iofclose.c: Free backup buffer if one is available.
* libio/ioseekoff.c (_IO_seekoff): Only remove pushback buffer if
mode!=0.
* strdlib/strtol.c (strtol): Handle 0x... string for base!=0 correctly.
* time/strftime.c [_LIBC] (ampm): Use tp->tm_hour not hour12.
1998-09-18 Mark Kettenis <kettenis@phys.uva.nl>
* login/programs/pt_chown.c (more_help): Correct message that
describes the purpose of the program.
* login/openpty.c: Do not include pty-private.h.
(pts_name): New function. Return name of slave pseudo terminal in
an allocated buffer if necessary.
(openpty): Use pts_name to get name of the slave end of the pseudo
terminal pair.
* sysdeps/unix/grantpt.c (grantpt): Free buffer allocated by
pts_name before return.
1998-09-18 11:15 Ulrich Drepper <drepper@cygnus.com>
* math/math.h: Define __NO_MATH_INLINES if __STRICT_ANSI__.
1998-09-09 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/dl-machine.h (elf_machine_lazy_rel): Optimise a bit.
1998-09-07 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/dl-machine.h (RTLD_START): Keep in step with
recent ld.so changes.
(elf_machine_runtime_setup): Correct behaviour when profiling.
1998-09-17 19:34 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/sysv4/bits/utsname.h: Fix typo.
Patch by John Tobey <jtobey@banta-im.com>.
1998-09-17 Mark Kettenis <kettenis@phys.uva.nl>
* login/pty-internal.h: Removed. Moved constants related to the
`grantpt' helper program protocol to ...
* login/pty-private.h: ... here. New file.
* sysdeps/unix/sysv/linux/ptsname.c (ptsname): Reimplementation
to make the function work with kernels >= 2.1.115.
* sysdeps/unix/sysv/linux/getpt.c (getpt): Reimplement to call BSD
version if using the cloning device fails.
* sysdeps/unix/sysv/linux/grantpt.c: New file.
* sysdeps/unix/sysv/linux/unlockpt.c: General cleanup.
* sysdeps/unix/bsd/getpt.c (__getpt): Largely rewritten to allow
use by Linux specific code.
* sysdeps/unix/bsd/unlockpt.c: General cleanup.
* sysdeps/unix/grantpt.c: Largely rewritten. (pts_name): New
function. (grantpt): Use pts_name, check group and permission
mode in addition to owner. Try to set the owner, group and
permission mode first without invoking the helper program.
* login/programs/pt_chown.c: Largely rewritten. Add argp and
internationalization support. Use symbolic constants instead of
hardwired numbers for permission mode.
* sysdeps/unix/bsd/ptsname.c: New file.
1998-09-17 22:04 Tim Waugh <tim@cyberelk.demon.co.uk>
* posix/wordexp-test.c: Undo last change.
* posix/wordexp.c: Undo last change.
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.
1998-09-16 00:47 Tim Waugh <tim@cyberelk.demon.co.uk>
* posix/wordexp-test.c: If expansion or substitution occurs
anywhere in a word, the entire word is subject to field-splitting.
* posix/wordexp.c (parse_glob): Look for end of word instead of
end of field when deciding what to glob.
(field_split_word): New function, now the only place where
field-splitting is performed.
(parse_dollars): New parameter - tell the caller if
field-splitting should be performed on this word.
* posix/wordexp-test.c (testit): Only call wordfree if wordexp
succeeded (or failed with WRDE_NOSPACE).
1998-09-15 19:53 1998 Tim Waugh <tim@cyberelk.demon.co.uk>
* posix/wordexp.c (wordexp): Don't convert IFS characters to
blanks.
* posix/wordexp-test.c: Words not the result of expansion or
substitution should remain unchanged.
1998-09-14 23:36 Ulrich Drepper <drepper@cygnus.com>
* nscd/pwdcache.c (save_pwd): Rewrite to use only one malloc call.
(free_pwd): Adjust for this change.
* nscd/grpcache.c (save_grp): Rewrite to use only one malloc call.
(free_grp): Adjust for this change.
1998-09-14 22:46 Tim Waugh <tim@cyberelk.demon.co.uk>
* posix/wordexp-test.c: Chet Ramey confirmed that bash's behaviour
for field-splitting 🔤 is correct, and that two fields should
result. Revert tests to reflect this.
* posix/wordexp.c (w_emptyword): Remove function.
(exec_comm): Don't use w_emptyword.
(parse_param): Likewise.
1998-09-14 11:26 Ulrich Drepper <drepper@cygnus.com>
* wcsmbs/wcsmbs-tst1.c: Include stdlib.h.
1998-09-14 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* libc-work/nis/nss_nisplus/nisplus-service.c
(_nss_nisplus_parse_servent): Convert port in network byte order.
1998-09-14 07:53 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdlib/stdlib.h: Add a switch, __need_malloc_and_calloc,
to provide only malloc and calloc.
* include/stdlib.h: Support the above.
* string/bits/string2.h: Use __need_malloc_and_calloc when
including stdlib.h.
(__string2_1bptr_p): Avoid -Wbad-function-cast warnings.
* iconvdata/iso-2022-jp.c: Include <stdlib.h>.
* iconvdata/iso646.c: Include <stdlib.h>.
1998-09-14 07:51 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sunrpc/rpc_cout.c: Add braces around ambiguous else.
* sysdeps/libm-ieee754/w_pow.c: Likewise.
* sysdeps/libm-ieee754/w_powf.c: Likewise.
* sysdeps/libm-ieee754/w_powl.c: Likewise.
1998-09-14 07:57 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* stdio-common/stdio_lim.h.in: New file. All parameters
are adjustable at build time.
* Rules: Add a rule to build bits/stdio_lim.h from
stdio-common/stdio_lim.h.in. (It has to be in Rules so that
all subdirectories know how to make the file. It can't be
in Makerules because then it gets built at top level and the
dependencies are wrong.)
* stdio-common/Makefile (distribute): Add stdio_lim.h.in.
* sysdeps/unix/sysv/linux/Makefile: Delete rules to make
stdio_lim.h.
* sysdeps/unix/sysv/linux/stdio_lim.h.in: Removed.
* sysdeps/unix/sysv/linux/Dist: Take out stdio_lim.h.in.
* sysdeps/posix/Makefile: Removed.
* sysdeps/posix/mk-stdiolim.c: Removed.
* sysdeps/generic/bits/stdio_lim.h: Removed.
1998-09-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* argp/argp-help.c: Fixup indentation.
* nss/nss_files/files-alias.c: Quiet -Wparentheses warning.
* resolv/nss_dns/dns-network.c: Likewise.
* resolv/res_send.c: Likewise.
* rt/aio_cancel.c: Likewise.
* rt/aio_misc.c: Likewise.
1998-09-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile (install-symbolic-link): Remove the link list file at last.
* Makerules (install-clean-symbolic-link-list): Removed.
1998-09-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* timezone/tst-timezone.c: Print time in UTC to get consistent
output.
1998-09-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/rtld.c (_dl_rpath): Removed.
* elf/dl-support.c (_dl_path): Removed.
* elf/Makefile ($(objpfx)ld.so): Don't pass -rpath.
(CFLAGS-dl-support.c): Removed.
* elf/dl-load.c (env_path_list): Renamed from fake_path_list. All
uses changed.
(_dl_init_paths): Always set env_path_list from LD_LIBRARY_PATH,
instead of appending it to the main map's rpath info.
(_dl_map_object): Consistently use LD_LIBRARY_PATH after all
DT_RPATHs. This makes it effective again.
(decompose_rpath): Remove second parameter, callers changed.
(fillin_rpath): Allocate enough space in curwd.
(expand_dynamic_string_token): Cope with get_origin returning -1.
1998-09-14 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* libc-work/nis/nss_compat/compat-pwd.c: Add support for
passwd.adjunct.
* nis/nss_nis/nis-pwd.c (_nss_nis_getpwent_r): Correct test for
invalid password.
1998-09-13 18:06 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/locale.c: Update dates.
1998-09-13 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/generic/bits/types.h: Include <features.h>. Make sure
size_t is defined. Some reordering of defenitions to make
maintaining this file in parallel with the linux-specific file easier.
1998-09-13 14:53 Tim Waugh <tim@cyberelk.demon.co.uk>
* posix/wordexp-test.c: Field-splitting '🔤' with IFS=: should
yield three fields, not two. Test both parameter expansion and
command substitution for correct field-splitting behaviour.
* posix/wordexp.c (w_emptyword): New function.
(parse_param): Use it.
(exec_comm): Likewise, for consistency with the way parse_param
splits fields.
(parse_param): Fix some memory leaks.
1998-09-13 18:04 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/dl-machine.c (PPC_DCBST,PPC_SYNC,PPC_ISYNC,PPC_ICBI):
Don't mark asm `volatile'.
(__elf_machine_runtime_setup): Clear the last partial block in the PLT
from the data cache too. Assume it isn't in the instruction cache yet.
(__elf_machine_fixup_plt): Clear the modified address from the caches.
1998-09-12 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/generic/segfault.c (install_handler): Install signal
handler with SA_ONSTACK instead of setting the stack flags to
SS_ONSTACK. Do not install handler for SIGSTKFLT if it is not
defined.
1998-09-12 14:24 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* signal/signal.h: Fix multiple inclusion guard to cover the
entire file.
* wcsmbs/wchar.h: Remove prototype of internal function
__mbsrtowcs.
* sysdeps/i386/i486/bits/string.h (memchr): Don't do
arithmetic on `void *'.
1998-09-12 01:09 Tim Waugh <tim@cyberelk.demon.co.uk>
* posix/wordexp-test.c: Fix wrong tests. Add new tests.
* posix/wordexp.c (wordexp): Perform word-splitting instead of
field-splitting here.
(wordexp): If out of memory mid-word, free the word (but still
leave pwordexp alone for caller to see).
(parse_param): Allow for zero-length fields (smarter checking of
memory allocation failure).
(w_addword): Convert NULL words to "".
(wordexp): Convert left-over IFS characters to blanks (like bash).
* iconvdata/Makefile (modules): Add ISO_10367-BOX, MAC-IS, NATS-DANO,
and NATS-SEFI.
Define *-routines variables for new modules.
(distribute): Add .c files for new modules.
(awk-generated-headers): Add iso_10367-box.h, mac-is.h, nats-dano.h,
and nats-sefi.h.
Add rules for header generation.
* iconvdata/gconv-modules: Add entries for new modules.
* iconvdata/iso_10367-box.c: New file.
* iconvdata/mac-is.c: New file.
* iconvdata/nats-dano.c: New file.
* iconvdata/nats-sefi.c: New file.
Add rules for header generation.
* configure.in: Use test -f instead of test -e.
Patch by John Tobey <jtobey@banta-im.com>.
* sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/trap.h: New file.
* sysdeps/unix/sysv/sysv4/solaris2/sys/syscall.h: New file.
* sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h: New file.
* sysdeps/unix/sysv/linux/sigstack.c: Fix typo.
* sysdeps/unix/sysv/sysv4/solaris2/sigwaitinfo.c: Fix typo.
* sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/ucontext.h: New file.
* sysdeps/unix/sysv/sysv4/solaris2/sys/param.h: New file.
Patches by John Tobey <jtobey@banta-im.com>.
* time/strftime.c (my_strftime): Delay use of *tp values until
latest possible point to allow partly initialized structures
(e.g., from strptime).
* sysdeps/unix/sysv/linux/init-first.c [!PIC]: Define __libc_init_first
using init-first.h.
1998-04-30 18:20 H.J. Lu <hjl@gnu.org>
* elf/dl-load.c (_dl_init_paths): Don't check the dynamic
loader if PIC is not defined.
1998-09-11 Ulrich Drepper <drepper@cygnus.com>
1998-09-10 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/tmpnam.c: Move local static variable buf to
toplevel and rename to tmpnam_buffer to ease debugging.
Patch by Joe Keane <jgk@jgk.org>.
Optimize s == NULL case a bit.
1998-09-10 12:51 Ulrich Drepper <drepper@cygnus.com>
* resolv/res_init.c (res_init): Initialize _res.nscount and
_res.nsaddr.sin_port differently for the can when no loopback
is available to allow immediate timeout in non-networking environments.
Patch by Cristian Gafton <gafton@redhat.com>.
1998-09-10 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* localedata/charmaps/ISO-8859-10: Character 0xBD is HORIZONTAL
BAR and not EM DASH.
* localedata/charmaps/ISO_8859-SUPP: Likewise (character 0xD0).
* localedata/charmaps/ISO-8859-7: Likewise (character 0xAF).
Fixes PR libc/717.
1998-09-10 11:53 Ulrich Drepper <drepper@cygnus.com>
* timezone/Makefile: Add rules to generate Asia/Tokyo zoneinfo files
for test.
* timezone/tst-timezone.c (tests): Fix typo in last patch.
* time/tzfile.c (__tzfile_read): Handle case when there are no
transitions. Set __timezone based on computed offset.
* time/tzset.c (tzset_internal): Set __timezone before returning.
* time/tzset.c (tzset_internal): Optimize handling of local string
copy.
1998-09-10 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* timezone/tst-timezone.c (tests): Add test for Asia/Tokyo (see PR
libc/776).
* sysdeps/powerpc/bits/fenv.h: Add parens.
1998-09-09 18:48 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/powerpc/dl-start.S (_start): Pass pointer to
_dl_main_searchlist not _dl_default_scope to _dl_init_next.
Patch by Benjamin Kosnik <bkoz@cygnus.com>.
instead of _dl_default_scope[2] as argument to _dl_init_next.
* sysdeps/m68k/dl-machine.h(RTLD_START): Push _dl_main_searchlist
instead of _dl_default_scope[2] as argument to _dl_init_next.