mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-08 14:20:07 +00:00
Update.
2003-09-03 Ulrich Drepper <drepper@redhat.com> * grp/Makefile (CFLAGS-getgrent_r.c): Add -fexceptions. (CFLAGS-getgrent.c): Likewise. * pwd/Makefile (CFLAGS-getpwent_r.c): Add -fexceptions. (CFLAGS-getpwent.c): Likewise. * shadow/Makefile (CFLAGS-getspent_r.c): Add -fexceptions. (CFLAGS-getspent.c): Likewise. * inet/Makefile: Add -fexceptions to CFLAGS for the various getXXent and getXXbyYY functions. * locale/loadlocale.c: Use not-cancelable variants of open, close, and read.
This commit is contained in:
parent
4a244f0dce
commit
72ef277e5a
15
ChangeLog
15
ChangeLog
@ -1,3 +1,18 @@
|
||||
2003-09-03 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* grp/Makefile (CFLAGS-getgrent_r.c): Add -fexceptions.
|
||||
(CFLAGS-getgrent.c): Likewise.
|
||||
* pwd/Makefile (CFLAGS-getpwent_r.c): Add -fexceptions.
|
||||
(CFLAGS-getpwent.c): Likewise.
|
||||
* shadow/Makefile (CFLAGS-getspent_r.c): Add -fexceptions.
|
||||
(CFLAGS-getspent.c): Likewise.
|
||||
|
||||
* inet/Makefile: Add -fexceptions to CFLAGS for the various
|
||||
getXXent and getXXbyYY functions.
|
||||
|
||||
* locale/loadlocale.c: Use not-cancelable variants of open, close,
|
||||
and read.
|
||||
|
||||
2003-09-02 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1991, 92, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1991,92,96,97,98,99,2000,2003 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
|
||||
@ -49,6 +49,8 @@ ifeq ($(have-thread-library),yes)
|
||||
|
||||
CFLAGS-getgrgid_r.c = -DUSE_NSCD=1
|
||||
CFLAGS-getgrnam_r.c = -DUSE_NSCD=1
|
||||
CFLAGS-getgrent_r.c = -fexceptions
|
||||
CFLAGS-getgrent.c = -fexceptions
|
||||
|
||||
endif
|
||||
|
||||
|
@ -57,9 +57,28 @@ include ../Rules
|
||||
ifeq ($(have-thread-library),yes)
|
||||
|
||||
CFLAGS-gethstbyad_r.c = -DUSE_NSCD=1 -fexceptions
|
||||
CFLAGS-gethstbyad.c = -fexceptions
|
||||
CFLAGS-gethstbynm_r.c = -DUSE_NSCD=1 -fexceptions
|
||||
CFLAGS-gethstbynm.c = -fexceptions
|
||||
CFLAGS-gethstbynm2_r.c = -DUSE_NSCD=1 -fexceptions
|
||||
CFLAGS-gethstbynm2.c = -fexceptions
|
||||
CFLAGS-gethstent_r.c = -fexceptions
|
||||
CFLAGS-gethstent.c = -fexceptions
|
||||
CFLAGS-rcmd.c = -fexceptions
|
||||
CFLAGS-getnetbynm_r.c = -fexceptions
|
||||
CFLAGS-getnetbynm.c = -fexceptions
|
||||
CFLAGS-getnetbyad_r.c = -fexceptions
|
||||
CFLAGS-getnetbyad.c = -fexceptions
|
||||
CFLAGS-getnetent_r.c = -fexceptions
|
||||
CFLAGS-getnetent.c = -fexceptions
|
||||
CFLAGS-getaliasent_r.c = -fexceptions
|
||||
CFLAGS-getaliasent.c = -fexceptions
|
||||
CFLAGS-getrpcent_r.c = -fexceptions
|
||||
CFLAGS-getrpcent.c = -fexceptions
|
||||
CFLAGS-getservent_r.c = -fexceptions
|
||||
CFLAGS-getservent.c = -fexceptions
|
||||
CFLAGS-getprtent_r.c = -fexceptions
|
||||
CFLAGS-getprtent.c = -fexceptions
|
||||
|
||||
endif
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Functions to read locale data files.
|
||||
Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996-2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||
|
||||
@ -30,6 +30,7 @@
|
||||
#endif
|
||||
#include <sys/stat.h>
|
||||
|
||||
#include <not-cancel.h>
|
||||
#include "localeinfo.h"
|
||||
|
||||
|
||||
@ -142,7 +143,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
|
||||
file->decided = 1;
|
||||
file->data = NULL;
|
||||
|
||||
fd = __open (file->filename, O_RDONLY);
|
||||
fd = open_not_cancel_2 (file->filename, O_RDONLY);
|
||||
if (__builtin_expect (fd, 0) < 0)
|
||||
/* Cannot open the file. */
|
||||
return;
|
||||
@ -150,7 +151,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
|
||||
if (__builtin_expect (__fxstat64 (_STAT_VER, fd, &st), 0) < 0)
|
||||
{
|
||||
puntfd:
|
||||
__close (fd);
|
||||
close_not_cancel_no_status (fd);
|
||||
return;
|
||||
}
|
||||
if (__builtin_expect (S_ISDIR (st.st_mode), 0))
|
||||
@ -160,7 +161,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
|
||||
char *newp;
|
||||
size_t filenamelen;
|
||||
|
||||
__close (fd);
|
||||
close_not_cancel_no_status (fd);
|
||||
|
||||
filenamelen = strlen (file->filename);
|
||||
newp = (char *) alloca (filenamelen
|
||||
@ -170,7 +171,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
|
||||
_nl_category_names[category],
|
||||
_nl_category_name_sizes[category] + 1);
|
||||
|
||||
fd = __open (newp, O_RDONLY);
|
||||
fd = open_not_cancel_2 (newp, O_RDONLY);
|
||||
if (__builtin_expect (fd, 0) < 0)
|
||||
return;
|
||||
|
||||
@ -206,7 +207,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
|
||||
char *p = (char *) filedata;
|
||||
while (to_read > 0)
|
||||
{
|
||||
nread = __read (fd, p, to_read);
|
||||
nread = read_not_cancel (fd, p, to_read);
|
||||
if (__builtin_expect (nread, 1) <= 0)
|
||||
{
|
||||
free (filedata);
|
||||
@ -225,7 +226,7 @@ _nl_load_locale (struct loaded_l10nfile *file, int category)
|
||||
#endif /* _POSIX_MAPPED_FILES */
|
||||
|
||||
/* We have mapped the data, so we no longer need the descriptor. */
|
||||
__close (fd);
|
||||
close_not_cancel_no_status (fd);
|
||||
|
||||
if (__builtin_expect (filedata == NULL, 0))
|
||||
/* We failed to map or read the data. */
|
||||
|
@ -3181,7 +3181,8 @@ file name. Usually the template string is something like
|
||||
template string, you @emph{must not} pass string constants to them.
|
||||
String constants are normally in read-only storage, so your program
|
||||
would crash when @code{mktemp} or @code{mkstemp} tried to modify the
|
||||
string.
|
||||
string. These functions are declared in the header file @file{stdlib.h}.
|
||||
@pindex stdlib.h
|
||||
|
||||
@comment stdlib.h
|
||||
@comment Unix
|
||||
|
@ -24,9 +24,10 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int seen;
|
||||
static int seen;
|
||||
|
||||
void *tf (void *p)
|
||||
static void *
|
||||
tf (void *p)
|
||||
{
|
||||
++seen;
|
||||
return NULL;
|
||||
@ -74,83 +75,5 @@ do_test (void)
|
||||
}
|
||||
|
||||
|
||||
#define TEST_FUNCTION do_test ()
|
||||
#include "../test-skeleton.c"
|
||||
/* Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Jakub Jelinek <jakub@redhat.com>, 2003.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, write to the Free
|
||||
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA. */
|
||||
|
||||
/* Test whether it is possible to create a thread with PTHREAD_STACK_MIN
|
||||
stack size. */
|
||||
|
||||
#include <pthread.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int seen;
|
||||
|
||||
void *tf (void *p)
|
||||
{
|
||||
++seen;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int
|
||||
do_test (void)
|
||||
{
|
||||
pthread_attr_t attr;
|
||||
pthread_attr_init (&attr);
|
||||
|
||||
int result = 0;
|
||||
int res = pthread_attr_setstacksize (&attr, PTHREAD_STACK_MIN);
|
||||
if (res)
|
||||
{
|
||||
printf ("pthread_attr_setstacksize failed %d\n", res);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
/* Create the thread. */
|
||||
pthread_t th;
|
||||
res = pthread_create (&th, &attr, tf, NULL);
|
||||
if (res)
|
||||
{
|
||||
printf ("pthread_create failed %d\n", res);
|
||||
result = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
res = pthread_join (th, NULL);
|
||||
if (res)
|
||||
{
|
||||
printf ("pthread_join failed %d\n", res);
|
||||
result = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (seen != 1)
|
||||
{
|
||||
printf ("seen %d != 1\n", seen);
|
||||
result = 1;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
#define TEST_FUNCTION do_test ()
|
||||
#include "../test-skeleton.c"
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1991, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1991,1996,1997,1998,1999,2003 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
|
||||
@ -34,6 +34,8 @@ ifeq ($(have-thread-library),yes)
|
||||
|
||||
CFLAGS-getpwuid_r.c = -DUSE_NSCD=1
|
||||
CFLAGS-getpwnam_r.c = -DUSE_NSCD=1
|
||||
CFLAGS-getpwent_r.c = -fexceptions
|
||||
CFLAGS-getpwent.c = -fexceptions
|
||||
|
||||
endif
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1996 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996, 2003 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
|
||||
@ -26,5 +26,7 @@ routines = getspent getspnam sgetspent fgetspent putspent \
|
||||
getspent_r getspnam_r sgetspent_r fgetspent_r \
|
||||
lckpwdf
|
||||
|
||||
CFLAGS-getspent_r.c = -fexceptions
|
||||
CFLAGS-getspent.c = -fexceptions
|
||||
|
||||
include ../Rules
|
||||
|
Loading…
Reference in New Issue
Block a user