mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +00:00
Update.
1998-11-05 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/fpu/bits/mathinline.h (__pow2): Fix fldl -> fld. * sysdeps/libm-i387/s_fma.S: Optimize a bit. * sysdeps/libm-i387/s_fmaf.S: Likewise. 1998-11-04 19:47 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu> * configure.in: Search for install-info and substitute it. Determine whether install-info is the buggy Debian version that doesn't understand INFO-DIR-SECTION. * config.make.in: Add INSTALL_INFO and OLD_DEBIAN_INSTALL_INFO to be substituted. * manual/Makefile: If OLD_DEBIAN_INSTALL_INFO, give install-info the --section argument it needs to work properly. (dir-add.texinfo): Delete target. (dir-add.info): Generate this directly. Sort entries. Put a colon at the end of the INFO-DIR-SECTION line. * manual/libc.texinfo: Put a colon at the end of the @dircategory line. 1998-11-05 Paul Eggert <eggert@twinsun.com> * time/mktime.c (__mktime_internal): Adopt the traditional (and problematic) notion of what to do when tm_isdst doesn't match. 1998-11-04 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * posix/PTESTS: Fix spelling. 1998-11-04 Andreas Jaeger <aj@arthur.rhein-neckar.de> * elf/dlopenold.c: Compile only if DO_VERSIONING is also defined. 1998-11-03 H.J. Lu <hjl@gnu.org> * libio/fileops.c (new_do_write): New function. (_IO_new_do_write): Call new_do_write. (_IO_new_file_xsputn): Likewise. * libio/oldfileops.c (old_do_write): New function. (_IO_old_do_write): Call old_do_write. (_IO_old_file_xsputn): Likewise.
This commit is contained in:
parent
a92599eaa0
commit
c00160817d
59
ChangeLog
59
ChangeLog
@ -1,3 +1,34 @@
|
||||
1998-11-05 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/i386/fpu/bits/mathinline.h (__pow2): Fix fldl -> fld.
|
||||
|
||||
* sysdeps/libm-i387/s_fma.S: Optimize a bit.
|
||||
* sysdeps/libm-i387/s_fmaf.S: Likewise.
|
||||
|
||||
1998-11-04 19:47 -0500 Zack Weinberg <zack@rabi.phys.columbia.edu>
|
||||
|
||||
* configure.in: Search for install-info and substitute it.
|
||||
Determine whether install-info is the buggy Debian version
|
||||
that doesn't understand INFO-DIR-SECTION.
|
||||
* config.make.in: Add INSTALL_INFO and OLD_DEBIAN_INSTALL_INFO
|
||||
to be substituted.
|
||||
* manual/Makefile: If OLD_DEBIAN_INSTALL_INFO, give
|
||||
install-info the --section argument it needs to work properly.
|
||||
(dir-add.texinfo): Delete target.
|
||||
(dir-add.info): Generate this directly. Sort entries. Put a
|
||||
colon at the end of the INFO-DIR-SECTION line.
|
||||
* manual/libc.texinfo: Put a colon at the end of the
|
||||
@dircategory line.
|
||||
|
||||
1998-11-05 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* time/mktime.c (__mktime_internal): Adopt the traditional (and
|
||||
problematic) notion of what to do when tm_isdst doesn't match.
|
||||
|
||||
1998-11-04 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||||
|
||||
* posix/PTESTS: Fix spelling.
|
||||
|
||||
1998-11-04 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* misc/efgcvt_r.c (fcvt_r): Remove code which tries to use libm
|
||||
@ -8,20 +39,20 @@
|
||||
* sysdeps/libm-i387/e_hypot.S: New file.
|
||||
* sysdeps/libm-i387/e_hypotf.S: New file.
|
||||
|
||||
1998-11-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||||
|
||||
* elf/dlopenold.c: Compile only if DO_VERSIONING is also defined.
|
||||
|
||||
1998-11-03 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* libio/fileops.c (new_do_write): New function.
|
||||
(_IO_new_do_write): Call new_do_write.
|
||||
(_IO_new_file_xsputn): Likewise.
|
||||
|
||||
* libio/oldfileops.c (old_do_write): New function.
|
||||
(_IO_old_do_write): Call old_do_write.
|
||||
(_IO_old_file_xsputn): Likewise.
|
||||
|
||||
1998-11-04 Andreas Jaeger <aj@arthur.rhein-neckar.de>
|
||||
|
||||
* elf/dlopenold.c: Compile only if DO_VERSIONING is also defined.
|
||||
|
||||
1998-11-03 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* libio/fileops.c (new_do_write): New function.
|
||||
(_IO_new_do_write): Call new_do_write.
|
||||
(_IO_new_file_xsputn): Likewise.
|
||||
|
||||
* libio/oldfileops.c (old_do_write): New function.
|
||||
(_IO_old_do_write): Call old_do_write.
|
||||
(_IO_old_file_xsputn): Likewise.
|
||||
|
||||
1998-11-04 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* time/mktime.c (__mktime_internal): Correct last change. We must
|
||||
|
@ -74,6 +74,8 @@ MIG = @MIG@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_INFO = @INSTALL_INFO@
|
||||
OLD_DEBIAN_INSTALL_INFO = @OLD_DEBIAN_INSTALL_INFO@
|
||||
LN_S = @LN_S@
|
||||
MSGFMT = @MSGFMT@
|
||||
|
||||
|
31
configure.in
31
configure.in
@ -558,8 +558,37 @@ fi
|
||||
AC_SUBST(libc_cv_have_ksh)
|
||||
|
||||
AC_PROG_AWK
|
||||
AC_PATH_PROGS(PERL, perl, no)
|
||||
AC_PATH_PROG(PERL, perl, no)
|
||||
AC_SUBST(PERL)
|
||||
AC_PATH_PROG(INSTALL_INFO, install-info, no, dnl
|
||||
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
|
||||
AC_SUBST(INSTALL_INFO)
|
||||
if test "$INSTALL_INFO" != "no"; then
|
||||
AC_CACHE_CHECK(for old Debian install-info, libc_cv_old_debian_install_info,
|
||||
[mkdir conftest.d
|
||||
# There is a hard ^_ on the next line. I am open to better ideas.
|
||||
(echo ''
|
||||
echo 'File: dir Node: Top This is the top of the INFO tree'
|
||||
echo '* Menu:') >conftest.d/dir
|
||||
(echo 'INFO-DIR-SECTION i-d-s works'
|
||||
echo 'START-INFO-DIR-ENTRY'
|
||||
echo '* Prog: (prog). Program.'
|
||||
echo 'END-INFO-DIR-ENTRY') >conftest.d/prog.info
|
||||
if $INSTALL_INFO --info-dir=conftest.d conftest.d/prog.info >&AC_FD_CC 2>&1
|
||||
then
|
||||
if grep -s 'i-d-s works' conftest.d/dir >/dev/null
|
||||
then libc_cv_old_debian_install_info=no
|
||||
else libc_cv_old_debian_install_info=yes
|
||||
fi
|
||||
else libc_cv_old_debian_install_info=no testfailed=t
|
||||
fi
|
||||
rm -fr conftest.d])
|
||||
if test -n "$testfailed"
|
||||
then AC_MSG_WARN([install-info errored out, check config.log])
|
||||
fi
|
||||
OLD_DEBIAN_INSTALL_INFO=$libc_cv_old_debian_install_info
|
||||
fi
|
||||
AC_SUBST(OLD_DEBIAN_INSTALL_INFO)
|
||||
|
||||
AC_CACHE_CHECK(for signed size_t type, libc_cv_signed_size_t, [dnl
|
||||
echo '#include <stddef.h>
|
||||
|
@ -81,11 +81,11 @@ stamp-summary: summary.awk $(filter-out summary.texi, $(texis))
|
||||
# Generate a file which can be added to the `dir' content to provide direct
|
||||
# access to the documentation of the function, variables, and other
|
||||
# definitions.
|
||||
dir-add.texinfo: xtract-typefun.awk $(texis)
|
||||
(echo "@dircategory GNU C library functions"; \
|
||||
echo "@direntry"; \
|
||||
$(AWK) -f $^; \
|
||||
echo "@end direntry") > $@.new
|
||||
dir-add.info: xtract-typefun.awk $(texis)
|
||||
(echo "INFO-DIR-SECTION GNU C library functions:"; \
|
||||
echo "START-INFO-DIR-ENTRY"; \
|
||||
$(AWK) -f $^ | sort; \
|
||||
echo "END-INFO-DIR-ENTRY") > $@.new
|
||||
mv -f $@.new $@
|
||||
|
||||
# Generate Texinfo files from the C source for the example programs.
|
||||
@ -156,12 +156,27 @@ realclean: distclean
|
||||
.PHONY: install subdir_install installdirs install-data
|
||||
install-data subdir_install: install
|
||||
ifneq ($(strip $(MAKEINFO)),)
|
||||
# There are two variants of install-info out there. The GNU version
|
||||
# knows about the INFO-DIR-SECTION tag, the Debian version doesn't.
|
||||
ifneq ($(OLD_DEBIAN_INSTALL_INFO),yes)
|
||||
install: $(inst_infodir)/libc.info dir-add.info
|
||||
@if $(SHELL) -c '$(INSTALL_INFO) --version' >/dev/null 2>&1; then \
|
||||
test -f $(inst_infodir)/dir || cp dir $(inst_infodir);\
|
||||
test -f $(inst_infodir)/dir || cp dir $(inst_infodir);\
|
||||
$(INSTALL_INFO) --info-dir=$(inst_infodir) $(inst_infodir)/libc.info;\
|
||||
$(INSTALL_INFO) --info-dir=$(inst_infodir) dir-add.info;\
|
||||
else : ; fi
|
||||
else
|
||||
install: $(inst_infodir)/libc.info dir-add.info
|
||||
@if $(SHELL) -c '$(INSTALL_INFO) --version' >/dev/null 2>&1; then \
|
||||
test -f $(inst_infodir)/dir || cp dir $(inst_infodir);\
|
||||
$(INSTALL_INFO) --info-dir=$(inst_infodir) \
|
||||
--section '^GNU Libraries:' 'GNU Libraries:' \
|
||||
$(inst_infodir)/libc.info;\
|
||||
$(INSTALL_INFO) --info-dir=$(inst_infodir) \
|
||||
--section '^GNU C Library functions:' 'GNU C Library functions:' \
|
||||
dir-add.info;\
|
||||
else : ; fi
|
||||
endif
|
||||
endif
|
||||
# Catchall implicit rule for other installation targets from the parent.
|
||||
install-%: ;
|
||||
|
@ -5,7 +5,7 @@
|
||||
@setchapternewpage odd
|
||||
|
||||
@comment Tell install-info what to do.
|
||||
@dircategory GNU libraries
|
||||
@dircategory GNU libraries:
|
||||
@direntry
|
||||
* Libc: (libc). C library.
|
||||
@end direntry
|
||||
|
@ -67,7 +67,7 @@
|
||||
1¦2¦\$a¦$a¦
|
||||
3¦3¦\$$¦ab$¦
|
||||
2¦6¦A\([34]$[34]\)B¦XA4$3BY¦
|
||||
# 2.8.3.1.3 Perios in BREs
|
||||
# 2.8.3.1.3 Periods in BREs
|
||||
# GA116
|
||||
1¦1¦.¦abc¦
|
||||
-1¦-1¦.ab¦abc¦
|
||||
@ -249,7 +249,7 @@
|
||||
-1¦-1¦a\{2,3\}¦abcd¦
|
||||
0¦0¦\([a-c]*\)\{0,0\}¦foo¦
|
||||
1¦63¦a\{1,63\}¦aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa¦
|
||||
# 2.8.3.4 BRE Precdence
|
||||
# 2.8.3.4 BRE Precedence
|
||||
# GA143
|
||||
2¦20¦\^\[[[.].]]\\(\\1\\)\\*\\{1,2\\}\$¦a^[]\(1\)\*\{1,2\}$b¦
|
||||
1¦6¦[[=*=]][[=\=]][[=]=]][[===]][[...]][[:punct:]]¦*\]=.;¦
|
||||
|
@ -67,7 +67,7 @@
|
||||
{ 1, 2, "\\$a", "$a", },
|
||||
{ 3, 3, "\\$$", "ab$", },
|
||||
{ 2, 6, "A\\([34]$[34]\\)B", "XA4$3BY", },
|
||||
{ 0, 0, "2.8.3.1.3 Perios in BREs", NULL, },
|
||||
{ 0, 0, "2.8.3.1.3 Periods in BREs", NULL, },
|
||||
{ 0, 0, "GA116", NULL, },
|
||||
{ 1, 1, ".", "abc", },
|
||||
{ -1, -1, ".ab", "abc", },
|
||||
@ -249,7 +249,7 @@
|
||||
{ -1, -1, "a\\{2,3\\}", "abcd", },
|
||||
{ 0, 0, "\\([a-c]*\\)\\{0,0\\}", "foo", },
|
||||
{ 1, 63, "a\\{1,63\\}", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", },
|
||||
{ 0, 0, "2.8.3.4 BRE Precdence", NULL, },
|
||||
{ 0, 0, "2.8.3.4 BRE Precedence", NULL, },
|
||||
{ 0, 0, "GA143", NULL, },
|
||||
{ 2, 20, "\\^\\[[[.].]]\\\\(\\\\1\\\\)\\\\*\\\\{1,2\\\\}\\$", "a^[]\\(1\\)\\*\\{1,2\\}$b", },
|
||||
{ 1, 6, "[[=*=]][[=\\=]][[=]=]][[===]][[...]][[:punct:]]", "*\\]=.;", },
|
||||
|
@ -240,7 +240,7 @@ __inline_mathcode (__pow2, __x, \
|
||||
return __value; \
|
||||
} \
|
||||
__asm __volatile__ \
|
||||
("fldl %%st(0)\n\t" \
|
||||
("fld %%st(0)\n\t" \
|
||||
"frndint # int(x)\n\t" \
|
||||
"fxch\n\t" \
|
||||
"fsub %%st(1) # fract(x)\n\t" \
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Compute (X * Y) + Z as ternary operation.
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
@ -23,8 +23,7 @@
|
||||
.text
|
||||
ENTRY(__fma)
|
||||
fldl 4(%esp) // x
|
||||
fldl 12(%esp) // x : y
|
||||
fmulp // x * y
|
||||
fmull 12(%esp) // x * y
|
||||
fldl 20(%esp) // z : x * y
|
||||
faddp // (x * y) + z
|
||||
ret
|
||||
|
@ -23,8 +23,7 @@
|
||||
.text
|
||||
ENTRY(__fmaf)
|
||||
flds 4(%esp) // x
|
||||
flds 8(%esp) // x : y
|
||||
fmulp // x * y
|
||||
fmuls 8(%esp) // x * y
|
||||
flds 12(%esp) // z : x * y
|
||||
faddp // (x * y) + z
|
||||
ret
|
||||
|
@ -350,31 +350,32 @@ __mktime_internal (tp, convert, offset)
|
||||
|
||||
/* If we have a match, check whether tm.tm_isdst has the requested
|
||||
value, if any. */
|
||||
if (dt == 0 && 0 <= isdst && 0 <= tm.tm_isdst)
|
||||
if (dt == 0 && isdst != tm.tm_isdst && 0 <= isdst && 0 <= tm.tm_isdst)
|
||||
{
|
||||
int dst_diff = (isdst != 0) - (tm.tm_isdst != 0);
|
||||
if (dst_diff)
|
||||
/* tm.tm_isdst has the wrong value. Look for a neighboring
|
||||
time with the right value, and use its UTC offset.
|
||||
Heuristic: probe the previous three calendar quarters (approximately),
|
||||
looking for the desired isdst. This isn't perfect,
|
||||
but it's good enough in practice. */
|
||||
int quarter = 7889238; /* seconds per average 1/4 Gregorian year */
|
||||
int i;
|
||||
|
||||
/* If we're too close to the time_t limit, look in future quarters. */
|
||||
if (t < TIME_T_MIN + 3 * quarter)
|
||||
quarter = -quarter;
|
||||
|
||||
for (i = 1; i <= 3; i++)
|
||||
{
|
||||
/* Move two hours in the direction indicated by the disagreement,
|
||||
probe some more, and switch to a new time if found.
|
||||
The largest known fallback due to daylight savings is two hours:
|
||||
once, in Newfoundland, 1988-10-30 02:00 -> 00:00. */
|
||||
time_t ot = t - 2 * 60 * 60 * dst_diff;
|
||||
while (--remaining_probes != 0)
|
||||
time_t ot = t - i * quarter;
|
||||
struct tm otm;
|
||||
ranged_convert (convert, &ot, &otm);
|
||||
if (otm.tm_isdst == isdst)
|
||||
{
|
||||
struct tm otm;
|
||||
dt = ydhms_tm_diff (year, yday, hour, min, sec,
|
||||
ranged_convert (convert, &ot, &otm));
|
||||
if (dt == 0
|
||||
|| (ot + dt == t
|
||||
&& dst_diff == (isdst != 0) - (tm.tm_isdst != 0)))
|
||||
{
|
||||
t = ot;
|
||||
tm = otm;
|
||||
break;
|
||||
}
|
||||
if ((ot += dt) == t)
|
||||
break; /* Avoid a redundant probe. */
|
||||
/* We found the desired tm_isdst.
|
||||
Extrapolate back to the desired time. */
|
||||
t = ot + ydhms_tm_diff (year, yday, hour, min, sec, &otm);
|
||||
ranged_convert (convert, &t, &tm);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user