* nscd/Makefile (nscd-cflags): Set back to -fpie.

* nscd/nscd.h (mem_in_flight): Add attribute_tls_model_ie.
	* nscd/connections.c (mem_in_flight): Likewise.

	* nscd/nscd.h (dbs): Make hidden.

	* sysdeps/unix/sysv/linux/times.c (__times): Fix check for EFAULT.
	Avoid returning -1, return 0 instead.
This commit is contained in:
Ulrich Drepper 2008-04-22 15:53:59 +00:00
parent 0073dd2d49
commit 7eb5e6c9bd
5 changed files with 21 additions and 6 deletions

View File

@ -1,3 +1,14 @@
2008-04-22 Jakub Jelinek <jakub@redhat.com>
* nscd/Makefile (nscd-cflags): Set back to -fpie.
* nscd/nscd.h (mem_in_flight): Add attribute_tls_model_ie.
* nscd/connections.c (mem_in_flight): Likewise.
* nscd/nscd.h (dbs): Make hidden.
* sysdeps/unix/sysv/linux/times.c (__times): Fix check for EFAULT.
Avoid returning -1, return 0 instead.
2008-04-19 Ulrich Drepper <drepper@redhat.com> 2008-04-19 Ulrich Drepper <drepper@redhat.com>
* resolv/res_mkquery.c (__res_nopt): Use NS_PUT16 instead of ns_put16. * resolv/res_mkquery.c (__res_nopt): Use NS_PUT16 instead of ns_put16.

View File

@ -90,8 +90,7 @@ CFLAGS-nscd_initgroups.c = -fexceptions
nscd-cflags = -DIS_IN_nscd=1 -D_FORTIFY_SOURCE=2 nscd-cflags = -DIS_IN_nscd=1 -D_FORTIFY_SOURCE=2
ifeq (yesyes,$(have-fpie)$(build-shared)) ifeq (yesyes,$(have-fpie)$(build-shared))
#nscd-cflags += -fpie nscd-cflags += -fpie
nscd-cflags += -fpic
endif endif
ifeq (yes,$(have-ssp)) ifeq (yes,$(have-ssp))
nscd-cflags += -fstack-protector nscd-cflags += -fstack-protector

View File

@ -226,7 +226,7 @@ static int sock;
unsigned long int client_queued; unsigned long int client_queued;
/* Data structure for recording in-flight memory allocation. */ /* Data structure for recording in-flight memory allocation. */
__thread struct mem_in_flight mem_in_flight; __thread struct mem_in_flight mem_in_flight attribute_tls_model_ie;
/* Global list of the mem_in_flight variables of all the threads. */ /* Global list of the mem_in_flight variables of all the threads. */
struct mem_in_flight *mem_in_flight_list; struct mem_in_flight *mem_in_flight_list;

View File

@ -130,7 +130,7 @@ struct database_dyn
/* Global variables. */ /* Global variables. */
extern struct database_dyn dbs[lastdb]; extern struct database_dyn dbs[lastdb] attribute_hidden;
extern const char *const dbnames[lastdb]; extern const char *const dbnames[lastdb];
extern const char *const serv2str[LASTREQ]; extern const char *const serv2str[LASTREQ];
@ -201,7 +201,7 @@ extern __thread struct mem_in_flight
} block[IDX_last]; } block[IDX_last];
struct mem_in_flight *next; struct mem_in_flight *next;
} mem_in_flight; } mem_in_flight attribute_tls_model_ie;
/* Global list of the mem_in_flight variables of all the threads. */ /* Global list of the mem_in_flight variables of all the threads. */
extern struct mem_in_flight *mem_in_flight_list; extern struct mem_in_flight *mem_in_flight_list;

View File

@ -27,7 +27,7 @@ __times (struct tms *buf)
INTERNAL_SYSCALL_DECL (err); INTERNAL_SYSCALL_DECL (err);
clock_t ret = INTERNAL_SYSCALL (times, err, 1, buf); clock_t ret = INTERNAL_SYSCALL (times, err, 1, buf);
if (INTERNAL_SYSCALL_ERROR_P (ret, err) if (INTERNAL_SYSCALL_ERROR_P (ret, err)
&& __builtin_expect (INTERNAL_SYSCALL_ERRNO (ret, err) == -EFAULT, 0)) && __builtin_expect (INTERNAL_SYSCALL_ERRNO (ret, err) == EFAULT, 0))
{ {
/* This might be an error or not. For architectures which have /* This might be an error or not. For architectures which have
no separate return value and error indicators we cannot no separate return value and error indicators we cannot
@ -49,6 +49,11 @@ __times (struct tms *buf)
return an EFAULT error. Return the value given by the kernel. */ return an EFAULT error. Return the value given by the kernel. */
} }
/* Return value (clock_t) -1 signals an error, but if there wasn't any,
return the following value. */
if (ret == (clock_t) -1)
return (clock_t) 0;
return ret; return ret;
} }
weak_alias (__times, times) weak_alias (__times, times)