mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 17:53:37 +08:00
Update.
1999-11-25 H.J. Lu <hjl@gnu.org> * stdlib/exit.c (exit): Run funtions only if __exit_funcs->idx > 0. 1999-11-25 Ulrich Drepper <drepper@cygnus.com> * manual/charset.texi (iconv Examples): Add iconv call to flush state. Reported by Andrew Clausen <clausen@alphalink.com.au>. 1999-11-25 Andreas Jaeger <aj@suse.de> * manual/install.texi (Running make install): Better describe update from libc5. Patch by Michael Deutschmann <michael@talamasca.wkpowerlink.com>. 1999-11-25 Andreas Jaeger <aj@suse.de> * include/sys/mman.h: Remove K&R compatibility. 1999-11-15 Andreas Jaeger <aj@suse.de> * misc/sys/mman.h: Use __REDIRECT for mmap, correct prototype to use __off64_t. 1999-11-25 Ulrich Drepper <drepper@cygnus.com> * iconv/iconv_prog.c (process_block): For stateful charsets write out byte sequence to get to initial state at the end of the file. which was reported to not work (which proofed to be wrong).
This commit is contained in:
parent
281e603173
commit
c559a3ca84
33
ChangeLog
33
ChangeLog
@ -1,3 +1,33 @@
|
||||
1999-11-25 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* stdlib/exit.c (exit): Run funtions only if
|
||||
__exit_funcs->idx > 0.
|
||||
|
||||
1999-11-25 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* manual/charset.texi (iconv Examples): Add iconv call to flush
|
||||
state. Reported by Andrew Clausen <clausen@alphalink.com.au>.
|
||||
|
||||
1999-11-25 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* manual/install.texi (Running make install): Better describe
|
||||
update from libc5.
|
||||
Patch by Michael Deutschmann <michael@talamasca.wkpowerlink.com>.
|
||||
|
||||
1999-11-25 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* include/sys/mman.h: Remove K&R compatibility.
|
||||
|
||||
1999-11-15 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* misc/sys/mman.h: Use __REDIRECT for mmap, correct prototype to
|
||||
use __off64_t.
|
||||
|
||||
1999-11-25 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* iconv/iconv_prog.c (process_block): For stateful charsets write
|
||||
out byte sequence to get to initial state at the end of the file.
|
||||
|
||||
1999-11-25 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* Makeconfig: Include sys-dirs and sys-sorted earlier.
|
||||
@ -21,8 +51,7 @@
|
||||
* sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_IEEE802_TR): Added.
|
||||
|
||||
* string/stratcliff.c: Add one more strchr test for something
|
||||
which was reported to not work
|
||||
(which proofed to be wrong).
|
||||
which was reported to not work (which proofed to be wrong).
|
||||
|
||||
* iconv/skeleton.c: It's __is_last, not is_last.
|
||||
|
||||
|
@ -338,8 +338,32 @@ conversion stopped due to problem in writing the output"));
|
||||
}
|
||||
|
||||
if (n != (size_t) -1)
|
||||
/* Everything is processed. */
|
||||
break;
|
||||
{
|
||||
/* All the input test is processed. For state-dependent
|
||||
character sets we have to flush the state now. */
|
||||
outptr = outbuf;
|
||||
outlen = OUTBUF_SIZE;
|
||||
n = iconv (cd, NULL, NULL, &outptr, &outlen);
|
||||
|
||||
if (outptr != outbuf)
|
||||
{
|
||||
/* We have something to write out. */
|
||||
int errno_save = errno;
|
||||
|
||||
if (fwrite (outbuf, 1, outptr - outbuf, output) < outptr - outbuf
|
||||
|| ferror (output))
|
||||
{
|
||||
/* Error occurred while printing the result. */
|
||||
error (0, 0, _("\
|
||||
conversion stopped due to problem in writing the output"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
errno = errno_save;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
if (errno != E2BIG)
|
||||
{
|
||||
|
@ -3,13 +3,13 @@
|
||||
|
||||
/* Now define the internal interfaces. */
|
||||
extern void *__mmap (void *__addr, size_t __len, int __prot,
|
||||
int __flags, int __fd, __off_t __offset) __THROW;
|
||||
int __flags, int __fd, __off_t __offset);
|
||||
extern void *__mmap64 (void *__addr, size_t __len, int __prot,
|
||||
int __flags, int __fd, __off64_t __offset) __THROW;
|
||||
extern int __munmap (void *__addr, size_t __len) __THROW;
|
||||
extern int __mprotect (void *__addr, size_t __len, int __prot) __THROW;
|
||||
int __flags, int __fd, __off64_t __offset);
|
||||
extern int __munmap (void *__addr, size_t __len);
|
||||
extern int __mprotect (void *__addr, size_t __len, int __prot);
|
||||
|
||||
/* This one is Linux specific. */
|
||||
extern void *__mremap (void *__addr, size_t __old_len,
|
||||
size_t __new_len, int __may_move) __THROW;
|
||||
size_t __new_len, int __may_move);
|
||||
#endif
|
||||
|
@ -1,3 +1,7 @@
|
||||
1999-11-25 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* Makefile: Don't run tests for now.
|
||||
|
||||
1999-11-23 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* locales/ko_KR: New file.
|
||||
|
@ -72,7 +72,7 @@ $(inst_i18ndir)/repertoiremaps/%: repertoiremaps/% $(+force); $(do-install)
|
||||
ifeq (no,$(cross-compiling))
|
||||
ifeq (yes,$(build-shared))
|
||||
.PHONY: do-collate-test do-tst-fmon do-tst-locale do-tst-rpmatch do-tst-trans
|
||||
tests: do-collate-test do-tst-fmon do-tst-locale do-tst-rpmatch do-tst-trans
|
||||
#tests: do-collate-test do-tst-fmon do-tst-locale do-tst-rpmatch do-tst-trans
|
||||
do-collate-test: sort-test.sh $(objpfx)collate-test $(objpfx)xfrm-test \
|
||||
$(test-input-data)
|
||||
$(SHELL) -e $< $(common-objpfx) $(test-input)
|
||||
|
@ -1837,6 +1837,11 @@ file2wcs (int fd, const char *charset, wchar_t *outbuf, size_t avail)
|
||||
@r{characters in the @code{inbuf}. Put them back.} */
|
||||
if (lseek (fd, -insize, SEEK_CUR) == -1)
|
||||
result = -1;
|
||||
|
||||
/* @r{Now write out the byte sequence to get into the}
|
||||
@r{initial state if this is necessary.} */
|
||||
iconv (cd, NULL, NULL, &wrptr, &avail);
|
||||
|
||||
break;
|
||||
@}
|
||||
insize += nread;
|
||||
@ -1867,7 +1872,8 @@ file2wcs (int fd, const char *charset, wchar_t *outbuf, size_t avail)
|
||||
@}
|
||||
|
||||
/* @r{Terminate the output string.} */
|
||||
*((wchar_t *) wrptr) = L'\0';
|
||||
if (avail >= sizeof (wchar_t))
|
||||
*((wchar_t *) wrptr) = L'\0';
|
||||
|
||||
if (iconv_close (cd) != 0)
|
||||
perror ("iconv_close");
|
||||
|
@ -232,18 +232,29 @@ shut the system down to single-user mode first, and reboot afterward.
|
||||
This minimizes the risk of breaking things when the library changes out
|
||||
from underneath.
|
||||
|
||||
If you're upgrading from Linux libc5 or some other C library, you need to
|
||||
replace the @file{/usr/include} with a fresh directory before installing it.
|
||||
The new @file{/usr/include} should contain the Linux headers, but nothing else.
|
||||
|
||||
You must first build the library (@samp{make}), optionally check it
|
||||
(@samp{make check}), switch the include directories and then install
|
||||
(@samp{make install}). The steps must be done in this order. Not moving
|
||||
the directory before install will result in an unusable mixture of header
|
||||
files from both libraries, but configuring, building, and checking the
|
||||
library requires the ability to compile and run programs against the old
|
||||
library.
|
||||
|
||||
If you are upgrading from a previous installation of glibc 2.0 or 2.1,
|
||||
@samp{make install} will do the entire job. If you're upgrading from
|
||||
Linux libc5 or some other C library, you need to rename the old
|
||||
@file{/usr/include} directory before running @samp{make install},
|
||||
or you will end up with a mixture of header files from both
|
||||
libraries, and you won't be able to compile anything. You may also need
|
||||
to reconfigure GCC to work with the new library. The easiest way to do
|
||||
that is to figure out the compiler switches to make it work again
|
||||
(@samp{-Wl,--dynamic-linker=/lib/ld-linux.so.2} should work on Linux
|
||||
systems) and use them to recompile gcc. You can also edit the specs
|
||||
file (@file{/usr/lib/gcc-lib/@var{TARGET}/@var{VERSION}/specs}), but
|
||||
that is a bit of a black art.
|
||||
@samp{make install} will do the entire job. You do not need to remove
|
||||
the old includes -- if you want to do so anyway you must then follow the
|
||||
order given above.
|
||||
|
||||
You may also need to reconfigure GCC to work with the new library. The
|
||||
easiest way to do that is to figure out the compiler switches to make it
|
||||
work again (@samp{-Wl,--dynamic-linker=/lib/ld-linux.so.2} should work on
|
||||
Linux systems) and use them to recompile gcc. You can also edit the specs
|
||||
file (@file{/usr/lib/gcc-lib/@var{TARGET}/@var{VERSION}/specs}), but that
|
||||
is a bit of a black art.
|
||||
|
||||
You can install glibc somewhere other than where you configured it to go
|
||||
by setting the @code{install_root} variable on the command line for
|
||||
|
@ -44,9 +44,14 @@ __BEGIN_DECLS
|
||||
extern void *mmap (void *__addr, size_t __len, int __prot,
|
||||
int __flags, int __fd, __off_t __offset) __THROW;
|
||||
#else
|
||||
extern void *mmap (void *__addr, size_t __len, int __prot,
|
||||
int __flags, int __fd, __off_t __offset) __THROW
|
||||
__asm__ ("mmap64");
|
||||
# ifdef __REDIRECT
|
||||
extern void * __REDIRECT (mmap,
|
||||
(void *__addr, size_t __len, int __prot,
|
||||
int __flags, int __fd, __off64_t __offset) __THROW,
|
||||
mmap64);
|
||||
# else
|
||||
# define mmap mmap64
|
||||
# endif
|
||||
#endif
|
||||
#ifdef __USE_LARGEFILE64
|
||||
extern void *mmap64 (void *__addr, size_t __len, int __prot,
|
||||
|
@ -41,7 +41,7 @@ exit (int status)
|
||||
{
|
||||
struct exit_function_list *old;
|
||||
|
||||
do
|
||||
while (__exit_funcs->idx > 0)
|
||||
{
|
||||
const struct exit_function *const f =
|
||||
&__exit_funcs->fns[--__exit_funcs->idx];
|
||||
@ -58,7 +58,6 @@ exit (int status)
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (__exit_funcs->idx > 0);
|
||||
|
||||
old = __exit_funcs;
|
||||
__exit_funcs = __exit_funcs->next;
|
||||
|
Loading…
Reference in New Issue
Block a user