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:
Ulrich Drepper 1998-11-05 12:26:43 +00:00
parent a92599eaa0
commit c00160817d
12 changed files with 313 additions and 208 deletions

View File

@ -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

View File

@ -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@

337
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -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>

View File

@ -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-%: ;

View File

@ -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

View File

@ -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:]]¦*\]=.;¦

View File

@ -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:]]", "*\\]=.;", },

View File

@ -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" \

View File

@ -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

View File

@ -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

View File

@ -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;
}
}
}