1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-12-15 17:05:51 +03:00
1998-09-21 10:00  Ulrich Drepper  <drepper@cygnus.com>

	* string/bits/string2.h: Add mempcpy optimization.
	* sysdeps/generic/mempcpy.c: Undefined __mempcpy.
	* intl/localealias.c: Define mempcpy only if not already defined.

	* sysdeps/i386/i486/bits/string.h: Define ffsl only if not already
	defined.

1998-09-20 10:48 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* csu/abi-note.S: Emit the note directly instead of defining
	a preprocessor macro that's only used once.  Don't include sysdep.h.
	* abi-tags: Generalize Solaris entry.

1998-09-18  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/bsd/getpt.c (__libc_ptyname1, __libc_ptyname2):
	Change to array to avoid runtime relocation.
	* sysdeps/unix/sysv/linux/ptsname.c: Update declarations.

1998-09-21 12:22  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* malloc/Makefile ($(objpfx)libmcheck.a): Fix use of $(LN_S).
	* math/Makefile ($(objpfx)libieee.a): Likewise.

1998-09-21  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/generic/getpt.c: Fix order of argument to weak_alias.
	Patch by John Tobey <jtobey@banta-im.com>.
This commit is contained in:
Ulrich Drepper
1998-09-21 14:34:13 +00:00
parent b0fd6165c7
commit e7c5513dcd
12 changed files with 249 additions and 65 deletions

View File

@@ -28,7 +28,7 @@ __getpt ()
__set_errno (ENOSYS);
return -1;
}
weak_alias (getpt, __getpt)
weak_alias (__getpt, getpt)
stub_warning (getpt)
#include <stub-tag.h>

View File

@@ -1,7 +1,7 @@
/* Copy memory to memory until the specified number of bytes
has been copied, return pointer to following byte.
Overlap is NOT handled correctly.
Copyright (C) 1991, 1997 Free Software Foundation, Inc.
Copyright (C) 1991, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Torbjorn Granlund (tege@sics.se).
@@ -25,6 +25,7 @@
#include <pagecopy.h>
#undef mempcpy
#undef __mempcpy
void *
__mempcpy (dstpp, srcpp, len)

View File

@@ -1582,7 +1582,9 @@ __strstr_g (__const char *__haystack, __const char *__needle)
: "rm" (word), "1" (-1)); \
__cnt + 1; }))
# define ffsl(word) ffs(word)
# ifndef ffsl
# define ffsl(word) ffs(word)
# endif
# endif /* i686 */
#endif /* BSD || X/Open */

View File

@@ -31,13 +31,13 @@
#ifndef PTYNAME1
#define PTYNAME1 "pqrsPQRS"
#endif
const char *__libc_ptyname1 = PTYNAME1;
const char __libc_ptyname1[] = PTYNAME1;
/* Letters indicating the position within a series. */
#ifndef PTYNAME2
#define PTYNAME2 "0123456789abcdefghijklmnopqrstuv";
#endif
const char *__libc_ptyname2 = PTYNAME2;
const char __libc_ptyname2[] = PTYNAME2;
/* Open a master pseudo terminal and return its file descriptor. */
@@ -47,32 +47,31 @@ __getpt (void)
char buf[sizeof (_PATH_PTY) + 2];
const char *p, *q;
char *s;
s = __stpcpy (buf, _PATH_PTY);
s[0] = '?';
s[1] = '?';
s[2] = 0;
for (p = __libc_ptyname1; *p; p++)
s = __mempcpy (buf, _PATH_PTY, sizeof (_PATH_PTY) - 1);
/* s[0] and s[1] will be filled in the loop. */
s[2] = '\0';
for (p = __libc_ptyname1; *p != '\0'; ++p)
{
s[0] = *p;
for (q = __libc_ptyname2; *q; q++)
for (q = __libc_ptyname2; *q != '\0'; ++q)
{
int fd;
s[1] = *q;
fd = __open (buf, O_RDWR);
if (fd != -1)
{
if (__isatty (fd))
return fd;
__close (fd);
continue;
}
if (errno != EIO)
return -1;
}

View File

@@ -33,8 +33,8 @@
#define _PATH_DEVPTS "/dev/pts/"
/* The are declared in getpt.c. */
extern const char *__libc_ptyname1;
extern const char *__libc_ptyname2;
extern const char __libc_ptyname1[];
extern const char __libc_ptyname2[];
/* Static buffer for `ptsname'. */
static char buffer[sizeof (_PATH_DEVPTS) + 20];
@@ -59,7 +59,7 @@ __ptsname_r (int fd, char *buf, size_t buflen)
int save_errno = errno;
struct stat st;
int ptyno;
if (buf == NULL)
{
__set_errno (EINVAL);
@@ -97,7 +97,7 @@ __ptsname_r (int fd, char *buf, size_t buflen)
#endif
{
char *p;
if (buflen < strlen (_PATH_TTY) + 3)
{
__set_errno (ERANGE);
@@ -116,13 +116,13 @@ __ptsname_r (int fd, char *buf, size_t buflen)
__set_errno (ENOTTY);
return ENOTTY;
}
p = __stpcpy (buf, _PATH_TTY);
p[0] = __libc_ptyname1[ptyno / 16];
p[1] = __libc_ptyname2[ptyno % 16];
p[2] = '\0';
}
if (__stat (buf, &st) < 0)
return errno;