* 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>
* 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
ifeq (yesyes,$(have-fpie)$(build-shared))
#nscd-cflags += -fpie
nscd-cflags += -fpic
nscd-cflags += -fpie
endif
ifeq (yes,$(have-ssp))
nscd-cflags += -fstack-protector

View File

@ -226,7 +226,7 @@ static int sock;
unsigned long int client_queued;
/* 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. */
struct mem_in_flight *mem_in_flight_list;

View File

@ -130,7 +130,7 @@ struct database_dyn
/* 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 serv2str[LASTREQ];
@ -201,7 +201,7 @@ extern __thread struct mem_in_flight
} block[IDX_last];
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. */
extern struct mem_in_flight *mem_in_flight_list;

View File

@ -27,7 +27,7 @@ __times (struct tms *buf)
INTERNAL_SYSCALL_DECL (err);
clock_t ret = INTERNAL_SYSCALL (times, err, 1, buf);
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
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 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;
}
weak_alias (__times, times)