1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-07 06:43:00 +03:00
1998-02-17  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm.map: Move all symbols that are new in glibc 2.1 to
	version GLIBC_2.1.

1998-02-17  Ulrich Drepper  <drepper@cygnus.com>

	* stdio-common/vfscanf.c (inchar): Check c for being EOF before
	trying to read another character.

1998-02-05  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* nis/nss_nis/nis-alias.c (_nss_nis_getaliasbyname_r): Convert
	name to lowercase.

	* nis/nss_nis/nis-network.c (_nss_nis_getnetbyname_r): Convert
	name to lowercase, add test for big enough buffer.

1998-02-03  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* sysdeps/unix/sysv/linux/alpha/rt_sigaction.S (rt_sigreturn):
	Make compatible with older kernels. Patch by Richard Henderson.
This commit is contained in:
Ulrich Drepper
1998-02-17 15:51:21 +00:00
parent 0a61487785
commit b112c02fa2
6 changed files with 118 additions and 48 deletions

View File

@@ -1,3 +1,26 @@
1998-02-17 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm.map: Move all symbols that are new in glibc 2.1 to
version GLIBC_2.1.
1998-02-17 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/vfscanf.c (inchar): Check c for being EOF before
trying to read another character.
1998-02-05 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* nis/nss_nis/nis-alias.c (_nss_nis_getaliasbyname_r): Convert
name to lowercase.
* nis/nss_nis/nis-network.c (_nss_nis_getnetbyname_r): Convert
name to lowercase, add test for big enough buffer.
1998-02-03 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/alpha/rt_sigaction.S (rt_sigreturn):
Make compatible with older kernels. Patch by Richard Henderson.
1998-02-17 15:10 Ulrich Drepper <drepper@cygnus.com> 1998-02-17 15:10 Ulrich Drepper <drepper@cygnus.com>
* elf/dl-load.c (open_path): Use __xstat instead of stat. * elf/dl-load.c (open_path): Use __xstat instead of stat.

View File

@@ -16,16 +16,11 @@ GLIBC_2.0 {
drem; dremf; dreml; drem; dremf; dreml;
erf; erff; erfl; erf; erff; erfl;
erfc; erfcf; erfcl; erfc; erfcf; erfcl;
exp2; exp2f; exp2l;
exp; expf; expl; exp; expf; expl;
expm1; expm1f; expm1l; expm1; expm1f; expm1l;
fabs; fabsf; fabsl; fabs; fabsf; fabsl;
fdim; fdimf; fdiml;
finite; finitef; finitel; finite; finitef; finitel;
floor; floorf; floorl; floor; floorf; floorl;
fma; fmaf; fmal;
fmax; fmaxf; fmaxl;
fmin; fminf; fminl;
fmod; fmodf; fmodl; fmod; fmodf; fmodl;
frexp; frexpf; frexpl; frexp; frexpf; frexpl;
gamma; gammaf; gammal; gamma; gammaf; gammal;
@@ -40,38 +35,60 @@ GLIBC_2.0 {
lgamma_r; lgammaf_r; lgammal_r; lgamma_r; lgammaf_r; lgammal_r;
log10; log10f; log10l; log10; log10f; log10l;
log1p; log1pf; log1pl; log1p; log1pf; log1pl;
log2; log2f; log2l;
log; logf; logl; log; logf; logl;
logb; logbf; logbl; logb; logbf; logbl;
matherr; matherr;
modf; modff; modfl; modf; modff; modfl;
nan; nanf; nanl;
nearbyint; nearbyintf; nearbyintl;
nextafter; nextafterf; nextafterl; nextafter; nextafterf; nextafterl;
nextafterx; nextafterxf; nextafterxl;
pow; powf; powl; pow; powf; powl;
remainder; remainderf; remainderl; remainder; remainderf; remainderl;
remquo; remquof; remquol;
rint; rintf; rintl; rint; rintf; rintl;
scalb; scalbf; scalbl;
scalbn; scalbnf; scalbnl;
significand; significandf; significandl;
sin; sinf; sinl;
sinh; sinhf; sinhl;
sqrt; sqrtf; sqrtl;
tan; tanf; tanl;
tanh; tanhf; tanhl;
y0; y0f; y0l;
y1; y1f; y1l;
yn; ynf; ynl;
# global variables
_LIB_VERSION; signgam;
# functions used in inline functions or macros
__log1p;
local:
*;
};
GLIBC_2.1 {
global:
# mathematical functions
exp2; exp2f; exp2l;
fdim; fdimf; fdiml;
fma; fmaf; fmal;
fmax; fmaxf; fmaxl;
fmin; fminf; fminl;
log2; log2f; log2l;
nan; nanf; nanl;
nearbyint; nearbyintf; nearbyintl;
nextafterx; nextafterxf; nextafterxl;
remquo; remquof; remquol;
lrint; lrintf; lrintl; lrint; lrintf; lrintl;
llrint; llrintf; llrintl; llrint; llrintf; llrintl;
round; roundf; roundl; round; roundf; roundl;
lround; lroundf; lroundl; lround; lroundf; lroundl;
llround; llroundf; llroundl; llround; llroundf; llroundl;
scalb; scalbf; scalbl;
scalbn; scalbnf; scalbnl;
scalbln; scalblnf; scalblnl; scalbln; scalblnf; scalblnl;
significand; significandf; significandl;
sin; sinf; sinl;
sincos; sincosf; sincosl; sincos; sincosf; sincosl;
sinh; sinhf; sinhl;
sqrt; sqrtf; sqrtl;
tan; tanf; tanl;
tanh; tanhf; tanhl;
trunc; truncf; truncl; trunc; truncf; truncl;
y0; y0f; y0l;
y1; y1f; y1l;
yn; ynf; ynl;
# complex functions # complex functions
cabs; cabsf; cabsl; cabs; cabsf; cabsl;
@@ -105,19 +122,12 @@ GLIBC_2.0 {
fesetenv; fesetexceptflag; fesetround; fesetenv; fesetexceptflag; fesetround;
fetestexcept; feupdateenv; fetestexcept; feupdateenv;
# global variables
_LIB_VERSION; signgam;
# functions used in inline functions or macros # functions used in inline functions or macros
__finite; __finitef; __finitel;
__fpclassify; __fpclassifyf; __fpclassifyl; __fpclassify; __fpclassifyf; __fpclassifyl;
__signbit; __signbitf; __signbitl; __signbit; __signbitf; __signbitl;
__finite; __finitef; __finitel;
__log1p;
# symbols used in macros from sysdeps/powerpc/bits/fenv.h # symbols used in macros from sysdeps/powerpc/bits/fenv.h
__fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env; __fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env;
local: } GLIBC_2.0;
*;
};

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. /* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
@@ -228,6 +228,9 @@ _nss_nis_getaliasbyname_r (const char *name, struct aliasent *alias,
char *result; char *result;
int len; int len;
char *p; char *p;
size_t namlen = strlen (name);
char name2[namlen + 1];
int i;
if (name == NULL) if (name == NULL)
{ {
@@ -238,8 +241,14 @@ _nss_nis_getaliasbyname_r (const char *name, struct aliasent *alias,
if (yp_get_default_domain (&domain)) if (yp_get_default_domain (&domain))
return NSS_STATUS_UNAVAIL; return NSS_STATUS_UNAVAIL;
retval = yperr2nss (yp_match (domain, "mail.aliases", name, strlen (name), /* Convert name to lowercase. */
for (i = 0; i < namlen; ++i)
name2[i] = tolower (name[i]);
name2[i] = '\0';
retval = yperr2nss (yp_match (domain, "mail.aliases", name2, namlen,
&result, &len)); &result, &len));
if (retval != NSS_STATUS_SUCCESS) if (retval != NSS_STATUS_SUCCESS)
{ {
if (retval == NSS_STATUS_TRYAGAIN) if (retval == NSS_STATUS_TRYAGAIN)

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. /* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
@@ -179,8 +179,27 @@ _nss_nis_getnetbyname_r (const char *name, struct netent *net, char *buffer,
if (yp_get_default_domain (&domain)) if (yp_get_default_domain (&domain))
return NSS_STATUS_UNAVAIL; return NSS_STATUS_UNAVAIL;
retval = yperr2nss (yp_match (domain, "networks.byname", name, if (buflen < sizeof *data + 1)
strlen (name), &result, &len)); {
*herrnop = NETDB_INTERNAL;
*errnop = ERANGE;
return NSS_STATUS_TRYAGAIN;
}
else
{
/* Convert name to lowercase. */
size_t namlen = strlen (name);
char name2[namlen + 1];
int i;
for (i = 0; i < namlen; ++i)
name2[i] = tolower (name[i]);
name2[i] = '\0';
retval = yperr2nss (yp_match (domain, "networks.byname", name2,
namlen, &result, &len));
}
if (retval != NSS_STATUS_SUCCESS) if (retval != NSS_STATUS_SUCCESS)
{ {

View File

@@ -57,8 +57,9 @@
# define va_list _IO_va_list # define va_list _IO_va_list
# define ungetc(c, s) ((void) ((int) c != EOF && --read_in), \ # define ungetc(c, s) ((void) ((int) c != EOF && --read_in), \
_IO_ungetc (c, s)) _IO_ungetc (c, s))
# define inchar() ((c = _IO_getc_unlocked (s)), \ # define inchar() (c == EOF ? EOF \
(void) (c != EOF && ++read_in), c) : ((c = _IO_getc_unlocked (s)), \
(void) (c != EOF && ++read_in), c))
# define encode_error() do { \ # define encode_error() do { \
if (errp != NULL) *errp |= 4; \ if (errp != NULL) *errp |= 4; \
_IO_funlockfile (s); \ _IO_funlockfile (s); \
@@ -102,7 +103,8 @@
# define UNLOCK_STREAM __libc_cleanup_region_end (1) # define UNLOCK_STREAM __libc_cleanup_region_end (1)
#else #else
# define ungetc(c, s) ((void) (c != EOF && --read_in), ungetc (c, s)) # define ungetc(c, s) ((void) (c != EOF && --read_in), ungetc (c, s))
# define inchar() ((c = getc (s)), (void) (c != EOF && ++read_in), c) # define inchar() (c == EOF ? EOF \
: (c = getc (s)), (void) (c != EOF && ++read_in), c)
# define encode_error() do { \ # define encode_error() do { \
funlockfile (s); \ funlockfile (s); \
__set_errno (EILSEQ); \ __set_errno (EILSEQ); \

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 1998 Free Software Foundation, Inc. /* Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Richard Henderson <rth@cygnus.com>, 1998 Contributed by Richard Henderson <rth@cygnus.com>, 1998
@@ -16,17 +16,17 @@
License along with the GNU C Library; see the file COPYING.LIB. If not, License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
#include <sysdep.h> #include <sysdep.h>
/* On Alpha we desparately want to avoid having to issue an imb. Ordinarily /* On Alpha we desparately want to avoid having to issue an imb. Ordinarily
the kernel would have to issue one after setting up the signal return the kernel would have to issue one after setting up the signal return
stack, but the Linux rt_sigaction syscall is prepared to accept a pointer stack, but the Linux rt_sigaction syscall is prepared to accept a pointer
to the sigreturn syscall, instead of inlining it on the stack. to the sigreturn syscall, instead of inlining it on the stack.
This just about halves signal delivery time. */ This just about halves signal delivery time. */
#ifdef __NR_rt_sigaction
.text .text
ENTRY(__syscall_rt_sigaction) ENTRY(__syscall_rt_sigaction)
.frame sp,0,ra,0 .frame sp,0,ra,0
@@ -38,7 +38,7 @@ ENTRY(__syscall_rt_sigaction)
.set at .set at
#endif #endif
.prologue 1 .prologue 1
beq a1, 0f beq a1, 0f
ldl t0, 8(a1) # sa_flags ldl t0, 8(a1) # sa_flags
lda a4, sigreturn-__syscall_rt_sigaction(pv) lda a4, sigreturn-__syscall_rt_sigaction(pv)
@@ -46,10 +46,10 @@ ENTRY(__syscall_rt_sigaction)
and t0, 0x00000040, t0 # SA_SIGINFO and t0, 0x00000040, t0 # SA_SIGINFO
cmovne t0, t1, a4 cmovne t0, t1, a4
0: ldi v0,__NR_rt_sigaction 0: ldi v0,__NR_rt_sigaction
callsys callsys
bne a3,1f bne a3,1f
ret ret
1: 1:
#ifndef PROF #ifndef PROF
br gp,2f br gp,2f
@@ -76,3 +76,10 @@ rt_sigreturn:
ldi v0,__NR_rt_sigreturn ldi v0,__NR_rt_sigreturn
callsys callsys
.end rt_sigreturn .end rt_sigreturn
#else
ENTRY(__syscall_rt_sigaction)
ldgp $29,0($27)
ldi $0,ENOSYS
jmp __syscall_error
END(__syscall_rt_sigaction)
#endif