2001-05-24 Ulrich Drepper <drepper@redhat.com>
* spinlock.c (__pthread_lock) [HAS_COMPARE_AND_SWAP]: Before doing any
serious work try once whether the lock is uncontested.
Remove duplicate reading of __status before loop.
Change suggested by Hans Boehm <hans_boehm@hp.com>.
* spinlock.h (__pthread_trylock): Remove need for oldstatus variable.
(__pthread_alt_trylock): Likewise.
2001-05-01 Kaz Kylheku <kaz@ashi.footprints.net>
Memory barrier overhaul following line by line inspection.
* mutex.c (pthread_once): Missing memory barriers added.
* pthread.c (__pthread_wait_for_restart_signal,
__pthread_timedsuspend_new, __pthread_restart_new): Added
memory barriers ``just in case'' and for documentary value.
* spinlock.c (__pthread_release): New inline function for releasing
spinlock, to complement __pthread_acquire. Includes memory
barrier prior to assignment to spinlock, and __asm __volatile
dance to prevent reordering or optimization of the spinlock access.
* spinlock.c (__pthread_unlock, __pthread_alt_lock,
__pthread_alt_timedlock, __pthread_alt_unlock,
__pthread_compare_and_swap): Updated to use new __pthread_release
instead of updating spinlock directly.
* spinlock.c (__pthread_lock, __pthread_unlock, wait_node_alloc,
wait_node_free, wait_node_dequeue, __pthread_alt_lock,
__pthread_alt_timedlock, __pthread_alt_unlock, __pthread_acquire):
Memory barrier overhaul. Lots of missing memory barriers added,
a couple needless ones removed.
* spinlock.c (__pthread_compare_and_swap): testandset optimization
removed, just calls __pthread_acquire, which has the new read
barrier in it before its testandset.
2001-05-21 Bruno Haible <haible@clisp.cons.org>
* wcsmbs/mbrtowc.c (mbrtowc): Remove local variable 'flush', always
use 0 instead, and rely on the converter to do the flush.
* wcsmbs/tst-mbrtowc.c (utf8_test_1): New function, taken from
utf8_test.
(utf8_test_2, utf8_test_3): New function.
(utf8_test): Call utf8_test_1, utf8_test_2, utf8_test_3.
2001-05-20 Bruno Haible <haible@clisp.cons.org>
* iconvdata/cp1255.c: Completely rewritten.
* iconvdata/Makefile (gen-8bit-gap-modules): Remove cp1255.
* iconvdata/testdata/WINDOWS-1255: New file.
* iconvdata/testdata/WINDOWS-1255..UTF8: New file.
* iconvdata/TESTS: Add WINDOWS-1255 test.
* iconvdata/CP1255.irreversible: New file.
2001-05-20 Bruno Haible <haible@clisp.cons.org>
* iconvdata/cp1258.c: Completely rewritten.
* iconvdata/Makefile (gen-8bit-gap-modules): Remove cp1258.
* iconvdata/testdata/WINDOWS-1258: New file.
* iconvdata/testdata/WINDOWS-1258..UTF8: New file.
* iconvdata/TESTS: Add WINDOWS-1258 test.
* iconvdata/tst-table-from.c (try): Reset the iconv descriptor before
the main call, and flush it afterwards.
(utf8_decode): Return a string, possibly containing several Unicode
characters.
(main): Update all utf8_decode calls.
* iconvdata/CP1258.irreversible: New file.
2001-05-20 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv.c (__gconv): For flush without output, pass do_flush = 2.
* iconv/skeleton.c: Distinguish do_flush = 1 and do_flush = 2. In the
first case, set outbuf, outstart, outend, and call PREPARE_LOOP before
EMIT_SHIFT_TO_INIT; then pass the output produced by this step down to
the next step. In the second case, clear the state without calling
EMIT_SHIFT_TO_INIT.
* iconvdata/ibm930.c (EMIT_SHIFT_TO_INIT): Use outbuf instead of
data->__outbuf, and outend instead of data->__outbufend.
* iconvdata/ibm933.c (EMIT_SHIFT_TO_INIT): Likewise.
* iconvdata/ibm935.c (EMIT_SHIFT_TO_INIT): Likewise.
* iconvdata/ibm937.c (EMIT_SHIFT_TO_INIT): Likewise.
* iconvdata/ibm939.c (EMIT_SHIFT_TO_INIT): Likewise.
* iconvdata/iso-2022-cn.c (EMIT_SHIFT_TO_INIT): Likewise.
* iconvdata/iso-2022-cn-ext.c (EMIT_SHIFT_TO_INIT): Likewise.
* iconvdata/iso-2022-jp.c (EMIT_SHIFT_TO_INIT): Likewise.
* iconvdata/iso-2022-kr.c (EMIT_SHIFT_TO_INIT): Likewise.
* iconvdata/utf-7.c (EMIT_SHIFT_TO_INIT): Likewise.
2001-05-21 Jakub Jelinek <jakub@redhat.com>
* elf/rtld.c (dl_main): Compute l_map_end for the main program.
* elf/dl-sym.c (_dl_sym): Don't check for l_addr == 0.
If match == _dl_loaded, caller can still come from the main program.
(_dl_vsym): Likewise.
* elf/dl-open.c (dl_open_worker): Don't check for l_addr == 0.
* elf/dl-error.c (_dl_signal_error): Change NULL objname into "".
* elf/restest2.c: New test.
* elf/Makefile (tests): Add restest2.
(restest2, LDFLAGS-restest2): Add rules.
2001-05-22 Andreas Jaeger <aj@suse.de>
* sysdeps/ieee754/ldbl-128/s_log1pl.c: New file, contributed by
Stephen L Moshier <moshier@mediaone.net>.
2001-05-22 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/s390/s390-32/backtrace.c: Make backtrace return the
return addresses instead of the stack pointers.
* sysdeps/s390/s390-64/backtrace.c: Likewise.
2001-05-21 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/ia64/sys/ucontext.h: Include
bits/sigcontext.h instead of bits/sigstack.h.
* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Add
multiple-inclusion guards.
2001-05-20 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_STD_AUXV):
Define for linux >= 2.4.5 on powerpc.
(__ASSUME_MMAP2_SYSCALL): Likewise.
result port when failing with ELOOP. Do the ELOOP check when
following an absolute symlink target as well as relative.
Remove #ifdef SYMLOOP_MAX conditional--it should always be defined.
* hurd/hurdlookup.c (__hurd_file_name_lookup_retry): Don't leak the
result port when failing with ELOOP. Do the ELOOP check when
following an absolute symlink target as well as relative.
Remove #ifdef SYMLOOP_MAX conditional--it should always be defined.
2001-05-17 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/sigprocmask.c (__sigprocmask): Use
CHECK_SIGSET_NULL_OK and not CHECK_SIGSET for all parameters.
Reported by Mark Burton <markb@ordern.com>.
2001-05-17 Ulrich Drepper <drepper@redhat.com>
* sysdeps/i386/i486/atomicity.h (exchange_and_add): Correct second
parameter of xaddl. Patch by H . J . Lu <hjl@lucon.org>.
2001-05-14 Bruno Haible <haible@clisp.cons.org>
* iconvdata/iso-2022-cn-ext.c (BODY for FROM_LOOP): If SO is seen
without previous announcement, reject it regularly, don't abort.
2001-05-16 Ulrich Drepper <drepper@redhat.com>
* math/tgmath.h: Fix handling of int parameters to binary and
ternary functions. Reported by mitr@volny.cz.
* math/test-tgmath.c: Add tests for calls with integer parameters.
* manual/llio.texi: Many grammar and typo fixes to the section on AIO.
2001-05-15 Andreas Jaeger <aj@suse.de>
* sysdeps/ieee754/ldbl-128/s_expm1l.c: New file, contributed by
Stephen L Moshier <moshier@mediaone.net>.
* sysdeps/i386/fpu/libm-test-ulps: Adjust for change.
* math/libm-test.inc: Add comment with ToDo.
* sysdeps/i386/fpu/e_expl.c: Rewritten to C and using a more
accurate algorithm. Patch by Stephen L Moshier <moshier@mediaone.net>.
* sysdeps/i386/fpu/e_expl.S: Removed.
static pattern rule also that also covers
$(objpx)g$(static-start-installed-name).
[$(start-installed-name) != $(static-start-installed-name)]
(extra-objs, omit-deps, install-lib): Add
$(static-start-installed-name) and g$(static-start-installed-name).
* sysdeps/mach/hurd/i386/Makefile: Don't add crt0.o to those here;
just setting static-start-installed-name is now sufficient.
(extra-objs): Add static-start.o here.
(CFLAGS-initfini.s): Remove obsolete variable.
* sysdeps/mach/hurd/i386/Makeconfig: New file.
Define static-start-installed-name here.
* Makeconfig: Include existing $(full_config_sysdirs:=/Makeconfig).
* Make-dist (+sysdep-tsrcs): Look for Makeconfig files.
* Makerules ($(+sysdir_pfx)sysd-Makefile): Remove this target and
associated hair. Instead, just use $(wildcard ...) in the include.
* configure.in (critic_missing, aux_missing): Collect in these vars
the names of the missing programs, and include them in the error msgs.
* configure: Regenerated.
* configure.in (critic_missing, aux_missing): Collect in these vars
the names of the missing programs, and include them in the error msgs.
* configure: Regenerated.
2001-05-14 Andreas Jaeger <aj@suse.de>
* sysdeps/i386/fpu/libm-test-ulps: Adjust for new tests.
* math/libm-test.inc (tanh_test): Add testcases for last tanh bug.
2001-05-14 Stephen L Moshier <moshier@mediaone.net>
* sysdeps/ieee754/ldbl-96/s_tanhl.c (__tanhl): Fix sign test.
2001-05-11 Jakub Jelinek <jakub@redhat.com>
* posix/regex.c (re_match_2_internal): Swap mbs_offset and csize
as well if swapping strings.
Make sure stop is not past end of second string.
* posix/bug-regex4.c: New test.
* posix/Makefile (tests): Add bug-regex4.
2001-05-10 Andreas Jaeger <aj@suse.de>
* manual/install.texi (Linux): Clarify that Linux 2.2 is minimal
requirement.
Patch by "Hasbullah Pit (sebol)" <sebol@ikhlas.com>.
2001-05-14 Andreas Jaeger <aj@suse.de>
* locales/ms_MY: Fix entries for Tue and Wednesday.
Patch by "Hasbullah Pit (sebol)" <sebol@ikhlas.com>.