1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-01 10:06:57 +03:00

update from main archive 961020

Mon Oct 21 01:32:36 1996  Ulrich Drepper  <drepper@cygnus.com>

	* elf/rtld.c (dl_main): Move initialization of `_dl_starting_up'
	to beginning of function.  So libc functions can use this flag.
	* sysdeps/generic/_strerror.c: Don't use dgettext for message
	translation while `_dl_starting_up' is nonzero.

	* elf/dl-deps.c (_dl_map_object_deps): Add new parameter
 	TRACE_MODE.
	Pass parameter value to _dl_map_object.
	* elf/dl-load (_dl_map_object): Add new parameter TRACE_MODE.
	If TRACE_MODE is nonzero don#t signal error when shared lib
	is not found.  Instead create fake entry for link map.
	* dl-open.c (dl-open): Pass 0 for new argument to _dl_map_object.
	* dl-runtime.c (_dl_object_relocation_scope): Pass 0 for new
	argument to _dl_map_object_deps.
	* elf/link.h: Add new parameter TRACE_MODE for prototypes of
	_dl_map_object and _dl_map_object_deps.
	* elf/rtld.c (dl_main): Pass 0 for new argument to _dl_map_object
	and _dl_map_object_deps.
	When mode == trace test for l_opencount == 0 before printing
	link information since this means the lib is not found.

Sun Oct 20 22:19:58 1996  Ulrich Drepper  <drepper@cygnus.com>

	* rpm/template: Add INSTALL to %doc line to follow copyright
	restrictions which demand the distribution of the copyright
	messages in INSTALL even for binary distributions.

	* features.h: Rename to...
	* features.h.in: ...this.  Change value of __GNU_LIBRARY__ to 2
	(for major version numberof package) and add __GNU_LIBRARY_MINOR__
	and __GNU_LIBRARY_INTERFACE__.
	* Makefile ($(objpfx)features.h): New rule to generate features.h
	from template features.h.in.

	* sysdeps/unix/sysv/linux/getsysstats.c: Include <paths.h>.

Sun Oct 20 00:00:13 1996  Richard Henderson  <rth@tamu.edu>

	* locale/programs/linereader.c (lr_open): Cast away const before free.
	(lr_close): Likewise.

	* misc/mntent.h: Move _PATH_MNTTAB & _PATH_MOUNTED to paths.h.
	* misc/paths.h: Move to ...
	* sysdeps/generic/paths.h: ... here.
	* paths.h: Remove.
	* sysdeps/unix/sysv/linux/paths.h: New file.  Correct _PATH_STDPATH,
	_PATH_MAILDIR, _PATH_MOUNTED, _PATH_UNIX to comply with the fsstd.

	* nss/nss_db/db-netgrp.h: Include <string.h>.

	* stdio-common/psignal.c: De-ansidecl-ify.  Allow NULL entries in
	_sys_siglist, which result in the "Unknown signal" message.
	* string/strsignal.c: Likewise.
	* sysdeps/generic/Makefile [stdio-common]: If $(inhibit-siglist),
	don't auto-generate siglist.c.
	* sysdeps/unix/sysv/linux/Makefile [stdio-common]: Set inhibit-siglist.
	* sysdeps/unix/sysv/linux/siglist.c: New file.  Not needing to
	autogenerate makes bootstrapping and cross-compiling much easier.
	* sysdeps/unix/sysv/linux/siglist.h: New file.

	* stdlib/longlong.h: Prototype __udiv_qrnnd.

	* sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_headers): Remove
	sys/io.h.  It is already added in .../linux/Makefile.

	* sysdeps/unix/sysv/linux/alpha/sigaction.h: New file.
	* sysdeps/unix/sysv/linux/alpha/signum.h: New file.
	* sysdeps/unix/sysv/linux/alpha/statbuf.h: New file.

Sun Oct 20 17:17:12 1996  Ulrich Drepper  <drepper@cygnus.com>

	Add implementation of POSIX.1g function getaddrinfo.
	* posix/Makefile (routines): Add getaddrinfo.
	* sysdeps/posix/getaddrinfo.c.: New file.  Add implementation by
 	Craig Metz.
	* sysdeps/stub/getaddrinfo.c: New file.  Stub implementation.
	* resolv/netdb.h [__USE_POSIX]: Add getaddrinfo prototypes and
	related constants and structures.

Sun Oct 20 13:02:34 1996  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/stub/lockfile.c: Rename functions to __internal_*.
	Make all old names weak alises so that they can be replaced
	by libpthread.

	* stdio-common/vfprintf.c: Only declare __flockfile and __funlockfile
	for !USE_IN_LIBIO.
	[USE_IN_LIBIO]: Call _IO_flockfile and _IO_funlockfile instead of
	__flockfile and __funlockfile.
	Reported by NIIBE Yutaka.

	* crypt/md5.c: Change form of copyright message according to GNITS
	rules.
	Add warning for requirement on RESBUF parameter for `md5_finish_ctx'
	and `md5_read_ctx' function.
	* crypt/md5.h: Likewise.

	* grp/testgrp.c: Don't use perror for error cases since getgr* and
	getpw* functions do not return usable error codes.

Sun Oct 19 23:05:32 1996  Jim Meyering  <meyering@asic.sc.ti.com>

	* crypt/md5.c (md5_process_bytes): Used casting for pointer
 	arithmetic.

Sun Oct 20 03:53:23 1996  Ulrich Drepper  <drepper@cygnus.com>

	* sunrpc/Makefile (others): Remove portmap here, too.
This commit is contained in:
Ulrich Drepper
1996-10-21 01:26:31 +00:00
parent 8145a97443
commit 46ec036de6
38 changed files with 1313 additions and 104 deletions

152
string/stratcliff.c Normal file
View File

@ -0,0 +1,152 @@
#define _GNU_SOURCE 1
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/mman.h>
#include <sys/param.h>
#ifndef MAX
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#endif
int
main (int argc, char *argv[])
{
size_t size = sysconf (_SC_PAGESIZE);
char *adr;
int result = 0;
adr = (char *) mmap (NULL, size, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
if (adr == NULL)
{
if (errno == ENOSYS)
puts ("No test, mmap not available.");
else
{
printf ("mmaping failed: %m");
result = 1;
}
}
else
{
char dest[size];
int inner, middle, outer;
memset (adr, 'T', size);
/* strlen test */
for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
{
for (inner = MAX (outer, size - 64); inner < size; ++inner)
{
adr[inner] = '\0';
if (strlen (&adr[outer]) != inner - outer)
{
printf ("strlen flunked for outer = %d, inner = %d\n",
outer, inner);
result = 1;
}
adr[inner] = 'T';
}
}
/* strchr test */
for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
{
for (middle = MAX (outer, size - 64); middle < size; ++middle)
{
for (inner = middle; inner < size; ++inner)
{
char *cp;
adr[middle] = 'V';
adr[inner] = '\0';
cp = strchr (&adr[outer], 'V');
if ((inner == middle && cp != NULL)
|| (inner != middle
&& (cp - &adr[outer]) != middle - outer))
{
printf ("strchr flunked for outer = %d, middle = %d, "
"inner = %d\n", outer, middle, inner);
result = 1;
}
adr[inner] = 'T';
adr[middle] = 'T';
}
}
}
/* strrchr test */
for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
{
for (middle = MAX (outer, size - 64); middle < size; ++middle)
{
for (inner = middle; inner < size; ++inner)
{
char *cp;
adr[middle] = 'V';
adr[inner] = '\0';
cp = strrchr (&adr[outer], 'V');
if ((inner == middle && cp != NULL)
|| (inner != middle
&& (cp - &adr[outer]) != middle - outer))
{
printf ("strrchr flunked for outer = %d, middle = %d, "
"inner = %d\n", outer, middle, inner);
result = 1;
}
adr[inner] = 'T';
adr[middle] = 'T';
}
}
}
/* strcpy test */
for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
{
for (inner = MAX (outer, size - 64); inner < size; ++inner)
{
adr[inner] = '\0';
if (strcpy (dest, &adr[outer]) != dest
|| strlen (dest) != inner - outer)
{
printf ("strcpy flunked for outer = %d, inner = %d\n",
outer, inner);
result = 1;
}
adr[inner] = 'T';
}
}
/* stpcpy test */
for (outer = size - 1; outer >= MAX (0, size - 128); --outer)
{
for (inner = MAX (outer, size - 64); inner < size; ++inner)
{
adr[inner] = '\0';
if ((stpcpy (dest, &adr[outer]) - dest) != inner - outer)
{
printf ("stpcpy flunked for outer = %d, inner = %d\n",
outer, inner);
result = 1;
}
adr[inner] = 'T';
}
}
}
return result;
}

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1994, 1995 Free Software Foundation, Inc.
/* Copyright (C) 1991, 1994, 1995, 1996 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -16,7 +16,6 @@ License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#include <signal.h>
#include <stdio.h>
#include <string.h>
@ -27,14 +26,16 @@ Cambridge, MA 02139, USA. */
#endif
/* Defined in siglist.c. */
extern CONST char *CONST _sys_siglist[];
extern const char *const _sys_siglist[];
/* Return a string describing the meaning of the signal number SIGNUM. */
char *
DEFUN(strsignal, (signum), int signum)
strsignal (int signum)
{
if (signum < 0 || signum > NSIG)
const char *desc;
if (signum < 0 || signum > NSIG || (desc = _sys_siglist[signum]) == NULL)
{
static char buf[512];
int len = __snprintf (buf, sizeof buf, _("Unknown signal %d"), signum);
@ -44,5 +45,5 @@ DEFUN(strsignal, (signum), int signum)
return buf;
}
return (char *) _(_sys_siglist[signum]);
return (char *) _(desc);
}