1998-08-31 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-close.c (_dl_close): Update _dl_loaded if the first
object on the list is removed. Don't use this code for PIC.
Reported by HJ Lu [PR libc/770].
1998-08-31 15:56 Ulrich Drepper <drepper@cygnus.com>
* db2/db_int.h: Use <db.h> instead of "db.h" to find header in include.
* include/stdio.h: Add __vsscanf.
* libio/stdio.h: Make vfscanf, scanf, and vsscanf available if
__USE_ISOC9X.
Remove __vsscanf declaration.
Always declare fgetpos and fsetpos.
* math/math.h: Define isinf as macro.
* math/bits/mathcalls.h: Change to declare __isinf all the time.
Don't declare scalb for ISO C 9x.
* math/tgmath.h: Define fma. Rewrite the underlying macros.
* stdlib/stdlib.h: Declare strtof and strtold is __USE_ISOC9X.
* sysdeps/unix/sysv/linux/bits/sigcontext.h: Allow inclusion from
sys/ucontext.h.
* sysdeps/wordsize-32/inttypes.h: Define missing PRI* and SCN*
macros.
1998-08-31 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/standalone/bits/errno.h (ENOMSG): Remove duplicate.
Reported by jreising@frequentis.com [PR libc/767].
1998-08-31 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* io/lockf.c (lockf): Move initilisation of fl.l_whence and
fl.l_start at beginning of function.
Patch by Geoff. Dash <geoffd@zeta.org.au> [PR libc/769].
1998-08-28 13:58 Ulrich Drepper <drepper@cygnus.com>
* internals.h: Also define THREAD_GETMEM_NC and THREAD_SETMEM_NC to
access thread data with non-constant offsets.
* specific.c: Use THREAD_GETMEM_NC and THREAD_SETMEM_NC where
necessary.
* sysdeps/i386/useldt.h: Fix typo. Add THREAD_GETMEM_NC and
THREAD_SETMEM_NC definitions.
* sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM_NC and
THREAD_SETMEM_NC.
* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
1998-08-26 15:46 Ulrich Drepper <drepper@cygnus.com>
* internals.h: Define THREAD_GETMEM and THREAD_SETMEM to default if
not already defined.
(struct _pthread_descr_struct): Add p_self and p_nr field.
* manager.c (__pthread_handles): Define second element to point
to manager thread.
(__pthread_handles_num): Initialize to 2.
(__pthread_manager): Use INIT_THREAD_SELF with two arguments.
(pthread_start_thread): Likewise.
(pthread_handle_create): Start search for free slot at entry 2.
Initialize new fields p_self and p_nr.
Call __clone with CLONE_PTRACE if available.
(pthread_free): Call FREE_THREAD_SELF if available.
* pthread.c (__pthread_initial_thread): Initialize new fields.
(__pthread_manager_thread): Likewise.
(__pthread_initialize_manager): Call __clone with CLONE_PTRACE.
* cancel.c: Use THREAD_GETMEM and THREAD_SETMEM to access the
elements of the thread descriptor.
* condvar.c: Likewise.
* errno.c: Likewise.
* join.c: Likewise.
* manager.c: Likewise.
* pthread.c: Likewise.
* ptlongjmp.c: Likewise.
* semaphore.c: Likewise.
* signals.c: Likewise.
* specific.c: Likewise.
* spinlock.c: Likewise.
* sysdeps/alpha/pt-machine.h (INIT_THREAD_SELF): Add extra parameter.
* sysdeps/i386/useldt.h: New file.
* sysdeps/i386/i686/pt-machine.h: Show how to use this file.
* sysdeps/sparc/sparc32/pt-machine.h: Define THREAD_GETMEM and
THREAD_SETMEM using __thread_self.
* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
1998-08-03 16:36 Ulrich Drepper <drepper@cygnus.com>
* catgets/catgets.c: Use mmap/munmap only is _POSIX_MAPPED_FILES
is defined.
* catgets/open_catalog.c: Likewise.
* iconv/iconv_prog.c: Likewise.
* intl/loadmsgcat.c: Likewise.
* locale/findlocale.c: Likewise.
* locale/loadlocale.c: Likewise.
* locale/programs/localedef.c: Likewise.
* malloc/malloc.c: Likewise.
* elf/elf.h: Fix typo.
* math/Makefile: Use $(LN_S) instead of ln.
* sysdeps/generic/getpgid.c: Fix return type.
1998-08-01 02:49 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* sysdeps/posix/tempname.c (__stdio_gen_tempname): Rename to
__gen_tempname and simplify the interface. Strip out the
code to do path search and create FILE objects. This function
now takes a mktemp() style template and returns either a name
or a file descriptor.
(__path_search): New function; searches for directories for
temp files.
* sysdeps/generic/tempname.c: Stub out __gen_tempname and
__path_search, not __stdio_gen_tempname.
* libio/stdio.h: Prototype __gen_tempname and __path_search,
not __stdio_gen_tempname.
* stdio/stdio.h: Likewise.
* stdio-common/tempnam.c: Use __path_search and __gen_tempname.
* stdio-common/tmpfile.c: Likewise.
* stdio-common/tmpfile64.c: Likewise.
* stdio-common/tmpnam.c: Likewise.
* stdio-common/tmpnam_r.c: Likewise.
* misc/mkstemp.c: New file. Use __gen_tempname.
* misc/mktemp.c: Likewise.
* sysdeps/posix/mkstemp.c: Removed.
* sysdeps/posix/mktemp.c: Removed.
* sysdeps/generic/mkstemp.c: Removed.
* sysdeps/generic/mktemp.c: Removed.
1998-08-02 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* configure.in: Check, if door add-on is installed.
* config.make.in: Add have_doors.
* sunrpc/Makefile: Add HAVE_DOOR define.
* sunrpc/key_call.c: Add keyserv/door interface.
* sunrpc/svc_unix.c: Call setsockopt only if SO_PASSCRED is defined.
* sunrpc/clnt_unix.c: Likewise.
1998-08-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* inet/netinet/in.h (IN_CLASSC): Correct mask.
Reported by Ian Staniforth <I.Staniforth@sheffield.ac.uk> [fixes
PR libc/727].
1998-08-03 10:23 Ulrich Drepper <drepper@cygnus.com>
* misc/Makefile: Fix installation problem with --disable-shared.
* posix/Makefile: Likewise.
1998-08-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/regex.c (re_search_2): Optimize searching for anchored
pattern if '^' cannot match at embedded newlines.
(regerror): Renamed from __regerror, which it should only be
called if _LIBC.
1998-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sunrpc/svc_unix.c (__msgread): Check setsockopt return value.
1998-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/glob.c: Remove obsolete cast.
1998-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Rules (tests): Fix last change.
1998-07-29 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/dl-sysdep.c (__lseek): New function.
(__getpid): New function.
(abort): New function.
* nis/nis_cache2_xdr.c: Removed.
1998-07-24 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/generic/glob.c (glob): Fix problems with handle tilde.
Reported by Brian Wellington <bwelling@anomaly.munge.com>.
* elf/elf.h: Really define Elf64_Verdef, Elf64_Verdaux, Elf64_Verneed,
and Elf64_Vernaux.
1998-07-24 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* configure.in: Recognize pgcc as compiler.
Reported by sauron@angband.ee.ualberta.ca.
1998-07-02 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nscd/dbg_log.c: Make sure, that debug message is really written.
* nscd/nscd.c: Don't use daemon(), set signal handler after fork.
SVID more for gamma(x) with x integer <= 0.
1998-07-14 19:39 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/vfscanf.c (ungetc): Use _IO_sputbackc, not _IO_ungetc.
[_USE_IN_LIBIO] (encode_error): Free cancelation handler.
(conv_error): Likewise.
(input_error): Likewise.
(memory_error): Likewise.
1998-07-12 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/dl-sysdep.c: Bring in sync with generic
implementation. Include <entry.h>. Replace references to symbol
_start with macro ENTRY_POINT.
(__libc_uid): Remove.
(__libc_multiple_libcs): New variable.
(__libc_stack_end): New variable.
(_dl_hwcap_mask): New variable.
(_dl_important_hwcaps): New function.
(_dl_show_auxv): Mark internal.
1998-07-09 13:34 Ulrich Drepper <drepper@cygnus.com>
* grp/grp.h: Define gid_t also for __USE_XOPEN.
* io/fcntl.h: Include <sys/stat.h> also for __USE_XOPEN.
* io/utime.h: Define time_t also for __USE_XOPEN.
* io/sys/stat.h: Define time_t also for __USE_XOPEN.
Define *_t types except for pid_t also for __USE_XOPEN.
Define S_* macros also for __USE_XOPEN.
* locale/langinfo.h: Define CODESET, CRNCYSTR, RADIXCHAR, and
THOUSEP also for __USE_XOPEN.
* math/math.c: Define M_* macros also for __USE_XOPEN.
* math/bits/mathcalls.h: Declare hypot also for __USE_XOPEN.
* posix/fnmatch.h: Define FNM_NOSYS and for if _XOPEN_SOURCE is
defined.
* posix/glob.h: Likewise for GLOB_NOSYS.
* posix/regex.h: Likewise for REG_NOSYS.
* posix/wordexp.h: Likewise for WRDE_NOSYS.
* posix/unistd.h: Define *_t types also for __USE_XOPEN.
* posix/sys/wait.h: Define pid_t for __USE_XOPEN.
* pwd/pwd.h: Define gid_t and pid_t also for __USE_XOPEN.
* signal/signal.h: Define pid_t also fir __USE_XOPEN.
* sysdeps/unix/sysv/linux/bits/fcntl.h: Define _RSYNC and O_DSYNC also
for __USE_POSIX199309.
* sysdeps/unix/sysv/linux/bits/termios.h: Define the various B*
constants also for __USE_XOPEN.
* wcsmbs/wchar.h: For XPG4 include wctype.h.
* intl/dcgettext.c (find_msg): Initialize act to prevent warning.
* locale/setlocale.c (new_composite_name): Likewise for last_len.
* libio/stdio.h: Don't declare fclose_unlocked.
* sysdeps/posix/fpathconf.c: Handle _PC_FILESIZEBITS.
1998-07-08 Mark Kettenis <kettenis@phys.uva.nl>
* stdio/stdio.h: Add prototypes for fflush_unlocked,
getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked,
fgets_unlocked, fread_unlocked, fwrite_unlocked,
clearerr_unlocked, feof_unlocked, ferror_unlocked,
fileno_unlocked, flockfile, ftrylockfile, funlockfile.
[__USE_XOPEN && !__USE_GNU] Declare optarg, optind, opterr. Add
prototype for getopt.
* stdio/clearerr.c (clearerr_unlocked): Weak alias for clearerr.
* stdio/feof.c (feof_unlocked): Weak alias for feof.
* stdio/ferror.c (ferror_unlocked): Weak alias for ferror.
* stdio/fflush.c (fflush_unlocked): Weak alias for fflush.
* stdio/fgets.c (fgets_unlocked): Weak alias for fgets.
* stdio/fileno.c (fileno_unlocked): Weak alias for fileno.
* stdio/fputc.c (fputc_unlocked): Weak alias for fputc.
* stdio/fread.c (fread_unlocked): Weak alias for fread.
* stdio/fwrite.c (fwrite_unlocked): Weak alias for fwrite.
* stdio/getc.c (getchar_unlocked): Weak alias for getc.
* stdio/getchar.c (getchar_unlocked): Weak alias for getchar.
* stdio/putc.c (putc_unlocked): Weak alias for putc.
* stdio/putchar.c (putchar_unlocked): Weak alias for putchar.
* stdio/Versions [GLIBC_2.1]: Add clearerr_unlocked,
feof_unlocked, ferror_unlocked, fflush_unlocked, fgets_unlocked,
fileno_unlocked, fputc_unlocked, fread_unlocked, fwrite_unlocked,
getc_unlocked, getchar_unlocked, putc_unlocked and
putchar_unlocked.
* libio/Versions: Move flockfile, ftrylockfile and funlockfile
from here ...
* stdio-common/Versions: ... to here.
1998-07-09 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* Makerules (versioning): Correct typo.
1998-07-04 10:14 Ulrich Drepper <drepper@cygnus.com>
* libio/Makefile (routines): Add iofread_u and iofwrite_u.
* libio/Versions: Add fread_unlocked and fwrite_unlocked.
* Makerules (lib%.so): Adjust ignore pattern for last makefile change.
* time/tzfile.c (decode): Optimize by using bswap_32.
(__tzfile_read): Use _unlocked stream functions. Correct setting of
__tzname array values.
(__tzfile_compute): Correct setting of __tzname array values.
* time/tzset.c (__tzstring): Clean up a bit.
1998-06-29 19:01 Jim Wilson <wilson@cygnus.com>
* posix/regex.c (re_comp): Add cast to char * before gettext calls.
1998-06-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/bsd/poll.c (__poll): Allocate fd_set dynamically so
that fd can be bigger than FD_SETSIZE.
1998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* nscd/grpcache.c: Include <unistd.h>.
* nscd/pwdcache.c: Likewise.
* nis/nis_modify.c: Include <string.h>.
* nis/nis_add.c: Likewise.
* nis/nis_checkpoint.c: Likewise.
* posix/runptests.c: Likewise.
* sysdeps/generic/statvfs64.c: Likewise.
* sysdeps/generic/fstatvfs64.c: Likewise.
1998-07-03 13:16 Ulrich Drepper <drepper@cygnus.com>
* localedata/charmaps/ISO-8859-9: Change mapping for 0xea, 0xec, 0xef
to match data from Unicode.
Reported by Michael Deutschmann <michael@talamasca.wkpowerlink.com>.
1998-07-03 11:45 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/printf.h: Define printf_function and
printf_arginfo_function types using __PMT not __P.
Reported by Marc Lehmann.
1998-07-02 14:07 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
* assert/test-assert.c: New test.
* assert/test-assert-perr.c: New test.
* assert/Makefile (tests): Add test-assert and test-assert-perr.
1998-07-02 13:45 Zack Weinberg <zack@rabi.phys.columbia.edu>
BSD-style SCM_CREDS support.
* sysdeps/unix/sysv/linux/socket.h: Define struct cmsgcred and
SCM_CREDS.
* sysdeps/unix/sysv/linux/sendmsg.c: New file. Convert user
visible SCM_CREDS packet to what the kernel wants.
* sysdeps/unix/sysv/linux/recvmsg.c: New file. Convert
SCM_CREDS packet output by kernel to what users want.
* sysdeps/unix/sysv/linux/sendmsg.S: Moved to...
* sysdeps/unix/sysv/linux/__sendmsg.S: here.
* sysdeps/unix/sysv/linux/recvmsg.S: Moved to...
* sysdeps/unix/sysv/linux/__recvmsg.S: here.
* sysdeps/unix/sysv/linux/Makefile [subdir=socket]: Add
__sendmsg and __recvmsg to sysdep_routines.
* sysdeps/unix/sysv/linux/Dist: Add __sendmsg.S and __recvmsg.S.
1998-07-02 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nscd/grpcache.c: Fix gid pointer handling and debug messages.
* nscd/pwdcache.c: Fix uid pointer handling and debug messages.
* nscd/nscd.c: Check, if pthread_create fails.
1998-07-02 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* stdio-common/test_rdwr.c (main): Use %Zu for size_t in printf
format strings.
* stdio-common/bug1.c (main): Likewise.
* stdio-common/bug5.c (main): Likewise.
* stdio-common/tstgetln.c (main): Likewise.
* elf/sprof.c (generate_call_graph): Likewise.
(load_shobj): Likewise.
* posix/runptests.c (main): Likewise.
* string/tst-strlen.c (main): Likewise.
* sysdeps/libm-ieee754/e_acos.c (__ieee754_acos): Remove unused
variable q3.
* sysdeps/libm-ieee754/e_asin.c (__ieee754_asin): Likewise
1998-07-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* wctype/Versions: Add __towctrans.
Noticed by Alex Buell <alex.buell@tahallah.demon.co.uk>.
1998-07-02 Mark Kettenis <kettenis@phys.uva.nl>
* grp/initgroups.c (compat_call): Only call dynamically loaded
functions if they are really present.
1998-07-02 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/unix/sysv/linux/bits/sched.h: Move __END_DECLS within
#ifdef that contains __BEGIN_DECLS.
1998-07-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libio/iofwrite.c: Fix return value when size == 0.
1998-07-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* posix/Makefile (distribute): Add annexc.c.
(generated): Add $(objpfx)annexc and $(objpfx)annexc.out.
1998-07-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add
bits/pthreadtypes.h here, and do not clobber headers.
* sysdeps/unix/sysv/linux/Dist: Add bits/pthreadtypes.h.
1998-07-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* timezone/tst-timezone.c: Add tests for tzname variable.
1998-07-03 12:17 Zack Weinberg <zack@rabi.phys.columbia.edu>
* Makefile [versioning=yes]: Build the mapfiles with a pattern
rule that lists all of them as targets.
(sysd-versions): Depend only on Versions.def. Write a Makefile
fragment that defines $(vers-libs) based on contents of that file;
then include it.
(lib-noranlib): Depend on lib-mapfiles not sysd-versions.
(lib-mapfiles): New target, depends on sysd-versions and $(vers-libs).
Predicate all this on avoid-generated unset as well as versioning.
1998-07-03 14:35 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manager.c (pthread_exited): If thread is not detached put it on
special list.
(pthread_handle_free): If thread is not on list with living threads
search on list with detached threads.
1998-06-25 19:26 Ulrich Drepper <drepper@cygnus.com>
* Makeconfig (CPPFLAGS): Use $($(subdir)-CPPFLAGS) if defined first.
* locale/Makefile: Define locale-CPPFLAGS instead of redefining
CPPFLAGS.
* libc.map: Export __sigaction.
1998-06-25 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/bits/sched.h (CLONE_PTRACE): Add it
(from Linux 2.1.107).
1998-06-24 Ulrich Drepper <drepper@cygnus.com>
* nss/nss_files/files-XXX.c (_nss_files_get,ENTNAME_r): Initialize
position when file was opened here.
Reported by Howard Chu <hyc@platinum.com>.
* sysdeps/generic/glob.c: Also protect FNM_* macros from being
undefined in a second inclusion.
1998-06-20 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/i386/Makefile: New file.
* sysdeps/mach/hurd/i386/init-first.c [!PIC] (init1): Call
__libc_init_secure.
(_hurd_stack_setup): Renamed
from __libc_init_first.
(__libc_init_first): New function.
* sysdeps/mach/hurd/i386/static-start.S: New file.
1998-05-30 Mark Kettenis <kettenis@phys.uva.nl>
* sysdeps/mach/hurd/i386/init-first.c
1998-06-22 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* grp/initgroups.c: Use _CALL_DL_FCT.
1998-06-23 Mark Kettenis <kettenis@phys.uva.nl>
* elf/dl-load.c (_dl_map_object_from_fd): Add missing cast.
1998-03-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manager.c (__pthread_manager): Reduce first argument to select
to include just the needed file descriptor.
1998-03-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* libc.map: Export internal versions of cancelable functions.
1998-03-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makerules (MAKEFLAGS): Append `r'.
1998-03-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makeconfig: Define have-thread-library, shared-thread-library
and static-thread-library if a thread library is available. Don't
define rt.
* nscd/Makefile: Compile nscd if have-thread-library. Rename
nscd-routines to nscd-modules. Use shared-thread-library and
static-thread-library in dependencies.
* rt/Makefile: Only compile librt if have-thread-library is
defined.
* Makefile (subdirs): Always include rt subdir.
1998-03-15 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makeconfig ($(common-objpfx)gnu/lib-names.h): Add dummy command.
1998-03-13 16:55 Ulrich Drepper <drepper@cygnus.com>
* string/tester.c (test_strpbrk): Add more strpbrk tests.
(test_strsep): Likewise. Correct horrible bugs.
* string/bits/string2.h (strcspn): Optimize also reject string of
length 2 and 3.
(strspn): Likewise.
(strpbrk): Likewise.
(strsep): Likewise. Correct bug with successive separators and
separators at the end of the string.
* sysdeps/generic/strsep.c: Correct bug with successive separators
and separators at the end of the string.
1998-03-13 13:11 Tim Waugh <tim@cyberelk.demon.co.uk>
* posix/wordexp.c (parse_param): Positional parameters ($1, $2
etc) now handled, as well as $$ (pid).
* posix/Makefile (tests): Execute wordexp-test.sh for `make check'.
(distribute): Add wordexp-tst.sh.
* posix/wordexp-tst.sh: New file.
* posix/wordexp.c (parse_param): $# (or ${#}) expands to the
number of positional parameters. Renamed substitute_length to
seen_hash.
Don't free(env) is env is NULL.
1998-03-13 16:50 Ulrich Drepper <drepper@cygnus.com>
* libc.map: Add pthread_attr_init to GLIBC_2.1.
1998-03-13 15:01 Ulrich Drepper <drepper@cygnus.com>
* gmon/gmon.c: Allow GMON_OUT_PREFIX variable to specify filename
for output file replacing gmon.out.
Patch by Dean Gaudet <dgaudet@arctic.org>.
1998-03-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/dl-misc.c (_dl_debug_message): Fix printing of pid. Clean
up namespace. Optimize finding end of line.
1998-03-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/rtld.c (process_envvars): Ignore LD_DEBUG_OUTPUT if running
securely. Optimized.
(process_dl_debug): Add ':' to list of separators. Optimized.
1998-03-13 10:25 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1998-03-13 00:46 Ulrich Drepper <drepper@cygnus.com>
* attr.c: Implement pthread_attr_[gs]etguardsize,
pthread_attr_[gs]setstackaddr, pthread_attr_[gs]etstacksize.
Change pthread_attr_init to have two interfaces.
* internals.h (struct _pthread_descr_struct): Add new fields for
above functions.
* libpthread.map: Add names in GLIBC_2.1 section.
* manager.c (pthread_handle_create): Implement guardsize and
user stack.
(pthread_free): Likewise.
* pthread.c (pthread_create): Add new interface for changed
pthread_attr_t.
* sysdeps/pthread/pthread.h: Add prototypes for new functions.
* sysdeps/unix/sysv/linux/bits/local_lim.h: Add definition of
PTHREAD_STACK_MIN.
* manager.c: Enable resetting of the thread scheduling policy
to SCHED_OTHER when the parent thread has a different one.
1998-03-11 00:42 Wolfram Gloger <wmglo@dent.med.uni-muenchen.de>
* linuxthreads/manager.c: Enable resetting of the thread
scheduling policy to SCHED_OTHER when the parent thread
has a different one.
1998-02-01 13:51 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/bits/posix_opt.h: Define
_POSIX_ASYNCHRONOUS_IO.
* sysdeps/pthread/pthread.h: Define bits for Unix98 variants of
mutexes.
* mutex.c: Implement new mutex types.
* internals.h: Include <signal.h>.
* libpthread.map: Add __erno_location and __h_errno_location.
* errno.c: Return pointer to variable actually in use. This might
not be the one in the thread structure.
* internals.h (struct _pthread_descr_struct): Add new fields p_errnop
and p_h_errnop.
* manager.c (__pthread_manager): Set p_errnop and p_h_errnop member
of manager thread structure.
(pthread_handle_create): Set p_errnop and p_h_errnop members for new
thread.
* pthread.c: Adapt initializer for thread structures.
(__pthread_initial_thread): Set p_errnop and p_h_errnop member.
(__pthread_reset_main_thread): Reset p_errnop and p_h_errnop of
current thread to global variables.
1998-01-31 17:27 Ulrich Drepper <drepper@cygnus.com>
* rwlock.c: New file.
* Makefile (libpthread-routines): Add rwlock.
* sysdeps/pthread/pthread.h: Define data structures and declare
functions.
* libpthread.map: Add new functions.
1997-12-18 13:50 Philip Blundell <pb@nexus.co.uk>
* sysdeps/arm/pt-machine.h: New file; add ARM support.
* sysdeps/arm/Implies: likewise.
* README: Document it.
1997-12-13 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* signals.c: Remove unneeded initializer for sigwaited, saving a
1997-04-11 01:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* semaphore.c (sem_init): Set sem_spinlock only if available.
1997-12-04 01:48 Ulrich Drepper <drepper@cygnus.com>
* mutex.c: Implement PTHREAD_MUTEX_CHECKERROR.
* sysdeps/pthread/pthread.h: Define PTHREAD_MUTEX_CHECKERROR.
* Makefile: Update from LinuxThreads 0.7.
* internals.h. Likewise.
* manager.c: Likewise.
* mutex.c: Likewise.
* pthread.c: Likewise.
* signals.c: Likewise.
* specific.c: Likewise.
* Examples/ex3.c: Likewise.
1997-11-20 18:13 Ulrich Drepper <drepper@cygnus.com>
* pthread.c (__pthread_reset_main_thread): Close pipe only if still
open.
1997-10-29 05:38 Ulrich Drepper <drepper@cygnus.com>
* wrapsyscall.c: Add socket functions which are also cancelation
points.
1997-10-19 21:40 Wolfram Gloger <wg@wolfram.dent.med.uni-muenchen.de>
* specific.c (__libc_internal_tsd_set, __libc_internal_tsd_get):
New functions for fast thread specific data within libc.
* internals.h: Add new array p_libc_specific to struct
_pthread_descr_struct.
* sysdeps/pthread/bits/libc-lock.h: Declare new functions.
1997-10-13 05:39 Ulrich Drepper <drepper@cygnus.com>
* semaphore.h: Add __BEGIN_DECLS/__END_DECLS.
Reported by Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
1997-08-29 03:05 Ulrich Drepper <drepper@cygnus.com>
* internals.h (struct _pthread_descr_struct): Add definitions for
two-level specific key handling.
* manager.c (pthread_handle_create): Initialize specific memory array.
* specific.c: Implement two-level key handling.
* weaks.c: Don't provide dummy key handling.
* sysdeps/pthread/bits/libc-lock.h: Typedef __libc_lock_t (no #define).
Add definition of __libc_key_t.
* sysdeps/unix/sysv/linux/bits/local_lim.h: Define PTHREAD_KEYS_MAX
as 1024.
Add definition of _POSIX_THREAD_DESTRUCTOR_ITERATIONS and
PTHREAD_DESTRUCTOR_ITERATIONS.
* manager.c (pthread_handle_create): Compare mmap result with
MAP_FAILED.
* ptfork.c: Rename to __pthread_atfork and make old name a weak alias.
* sysdeps/pthread/bits/pthread.h: Add prototype for __pthread_atfork.
1997-08-22 19:04 Richard Henderson <rth@cygnus.com>
sysdeps/sparc -> sysdeps/sparc/sparc32
sysdeps/sparc64 -> sysdeps/sparc/sparc64
* internals.h: Change definition of THREAD_SELF to be an expression,
not a statement that did a return.
* sysdeps/alpha/pt-machine.h (THREAD_SELF): Update accordingly.
* sysdeps/sparc/sparc32/pt-machine.h (THREAD_SELF, INIT_THREAD_SELF):
Follow Solaris and use a "system reserved" register (%g6) to hold
the thread descriptor.
* sysdeps/sparc/sparc64/pt-machine.h: Likewise.
1997-08-03 00:09 Ulrich Drepper <drepper@cygnus.com>
* mutex.c: Correct pthread_once. Patch by Xavier Leroy.
* sysdeps/pthread/pthread.h: Add prototype for __pthread_once.
* sysdeps/pthread/bits/pthread.h: Add macros for __libc_once.
* semaphore.c: Include spinlock.h only when needed.
* specific.c (__pthread_setsepcific, __pthread_getspecific): Reject
keys for entries not in use.
* weaks.c: Implement key handling functions for real.
1997-06-29 01:04 Richard Henderson <richard@gnu.ai.mit.edu>
Initial sparc64-linux support:
* linuxthreads/sysdeps/sparc64/Implies: New file.
* linuxthreads/sysdeps/sparc64/pt-machine.h: Likewise.
1997-06-29 00:48 Ulrich Drepper <drepper@cygnus.com>
* semaphore.c: Include spinlock.h at correct place.
Patch by HJ Lu.
1997-06-13 10:06 Richard Henderson <rth@tamu.edu>
The Great Bit File Move:
* sysdeps/alpha/semaphorebits.h: -> .../bits/semaphore.h.
* sysdeps/powerpc/semaphorebits.h: Likewise.
* sysdeps/pthread/cmpxchg/semaphorebits.h: Likewise.
* sysdeps/pthread/no-cmpxchg/semaphorebits.h: Likewise.
* sysdeps/pthread/libc-lock.h: -> bits/
* sysdeps/pthread/stdio-lock.h: Likewise.
* sysdeps/unix/sysv/linux/local_lim.h: Likewise.
* sysdeps/unix/sysv/linux/posix_opt.h: Likewise.
* semaphore.h: Likewise.
* sysdeps/pthread/pthread.h: Likewise.
* lockfile.c: <foo.h> -> <bits/foo.h>.
* semaphore.h: Likewise.
* Makefile: (headers): foo.h -> bits/foo.h.
* sysdeps/pthread/Makefile: Likewise.
1997-04-11 01:18 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* semaphore.c (sem_init): Set sem_spinlock only if available.
* sysdeps/m68k/pt-machine.h (testandset, __compare_and_swap): Fix
asm constraints.
1997-04-09 03:00 Ulrich Drepper <drepper@cygnus.com>
Update from LinuxThreads 0.6.
* attr.c (pthread_attr_getdetachstate): Use __sched_get_priority_max
and __sched_get_priority_min instead of names without `__'.
* manager.c: Rewrite large parts to implement opaque pthread_t.
* cancel.c: Adapt for opaque pthread_t type.
* condvar.c: Likewise.
* errno.c: Likewise.
* join.c: Likewise.
* mutex.c: Likewise.
* pthread.c: Likewise.
* signals.c: Likewise.
* specific.c: Likewise.
* restart.h: Likewise.
* queue.h: Likewise.
* Examples/ex3.c: Likewise.
* Examples/ex4.c: Likewise.
* sysdeps/pthread/pthread.h: Likewise.
* pthread.c: Accumulate time for all threads in thread manager.
* semaphore.c: Implement fallback implementation for architectures
sometimes missing compare-exchange operations.
* cancel.c (pthread_cancel): Validate handle argument.
* join.c (pthread_join): Likewise.
(pthread_detach): Likewise.
* signals.c (pthread_kill): Likewise.
* spinlock.h (acquire): Use __sched_yield not sched_yield.
* queue.h (enqueue): Enqueue thread according to priority.
* internals.c (struct pthread_start_args): New struct for passing
args to cloning function.
(struct _pthread): Rename to _pthread_descr_struct and adapt for
opaque pthread_t.
* Examples/Makefile (clean): Pass -f option to rm.
* sysdeps/i386/pt-machine.h: Add check for compare-exchange instruction
and define TEST_FOR_COMPARE_AND_SWAP.
* sysdeps/i386/i486/pt-machine.h: Removed.
* sysdeps/unix/sysv/linux/local_lim.h (PTHREAD_THREADS_MAX): Increase
to 1024.
1997-04-04 16:38 Ulrich Drepper <drepper@cygnus.com>
* restart.h (suspend): Clear p_signal before suspending.
(suspend_with_cancellation): Likewise.
Patch by Xavier Leroy <Xavier.Leroy@inria.fr>.
* weaks.c: Make __pthread_key_create return 1.
* sysdeps/pthread/libc-lock.h: Define __libc_key_create,
__libc_getspecific, __libc_setspecific, and __libc_key_t.
* sysdeps/pthread/stdio-lock.h: Don't care for implementation not
using libio.
1997-03-19 15:13 Miguel de Icaza <miguel@nuclecu.unam.mx>
* sysdeps/sparc/pt-machine (RELEASE): Fix.
1997-03-01 07:55 Geoff Keating <geoffk@ozemail.com.au>
* sysdeps/powerpc/Implies: Added.
* sysdeps/powerpc/pt-machine.h: Added.
* sysdeps/powerpc/semaphorebits.h: Added.
1997-01-22 01:22 Ulrich Drepper <drepper@cygnus.com>
* linuxtheads/pthread.c (__pthread_initial_thread): Correct
initializer.
(__pthread_manager_thread): Likewise.
Reported by Andreas Jaeger.
1997-01-18 22:15 Richard Henderson <rth@tamu.edu>
Since sigset_t no longer fits in a register, we can't pass in the
thread's initial mask so easily. Take this opportunity to simplify
the clone implementation by only accepting a single void* argument.
* linuxthreads/manager.c (__pthread_manager): Put thread vitals
in the thread struct instead of as arguments through clone.
(pthread_start_thread): Look for them there.
* linuxthreads/internals.h (struct _pthread): Add p_initial_fn,
p_initial_fn_arg, p_initial_mask. Fix __pthread_manager proto.
* linuxthreads/pthread.c (pthread_initialize_manager): Revise
clone invocation.