aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog18
-rw-r--r--elf/readlib.c5
-rw-r--r--linuxthreads/errno.c9
-rw-r--r--linuxthreads/sysdeps/pthread/tst-timer.c17
-rw-r--r--linuxthreads/wrapsyscall.c12
-rw-r--r--nscd/connections.c6
-rw-r--r--sysdeps/unix/sysv/aix/sigset-cvt-mask.h16
-rw-r--r--sysdeps/unix/sysv/linux/sigset-cvt-mask.h37
-rw-r--r--sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h26
9 files changed, 95 insertions, 51 deletions
diff --git a/ChangeLog b/ChangeLog
index e66e1245d2..e924638547 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2002-09-04 Bruno Haible <bruno@clisp.org>
+
+ * elf/readlib.c (process_file): Conditionalize check for QMAGIC.
+
+ * sysdeps/unix/sysv/linux/sigset-cvt-mask.h (sigset_set_old_mask,
+ sigset_get_old_mask): Turn into inline functions.
+ * sysdeps/unix/sysv/aix/sigset-cvt-mask.h (sigset_set_old_mask,
+ sigset_get_old_mask): Likewise.
+ * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h (sigset_set_old_mask,
+ sigset_get_old_mask): Likewise.
+
+ * sysdeps/generic/_strerror.c (_sys_errlist, _sys_nerr): Remove
+ default definitions.
+ (__strerror_r): Use _sys_errlist_internal instead of _sys_errlist,
+ _sys_nerr_internal instead of _sys_nerr.
+
+ * nscd/connections.c (handle_request): Declare CALLER inside #if.
+
2002-07-29 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/powerpc/__longjmp.S: Moved to...
diff --git a/elf/readlib.c b/elf/readlib.c
index 361f78c95d..efc2e10053 100644
--- a/elf/readlib.c
+++ b/elf/readlib.c
@@ -123,7 +123,10 @@ process_file (const char *real_file_name, const char *file_name,
/* First check if this is an aout file. */
aout_header = (struct exec *) file_contents;
if (N_MAGIC (*aout_header) == ZMAGIC
- || N_MAGIC (*aout_header) == QMAGIC)
+#ifdef QMAGIC /* Linuxism. */
+ || N_MAGIC (*aout_header) == QMAGIC
+#endif
+ )
{
/* Aout files don't have a soname, just return the name
including the major number. */
diff --git a/linuxthreads/errno.c b/linuxthreads/errno.c
index 57b1ebb635..5c0e8767a1 100644
--- a/linuxthreads/errno.c
+++ b/linuxthreads/errno.c
@@ -23,20 +23,23 @@
#if !USE_TLS || !HAVE___THREAD
/* The definition in libc is sufficient if we use TLS. */
-int * __errno_location()
+int *
+__errno_location (void)
{
pthread_descr self = thread_self();
return THREAD_GETMEM (self, p_errnop);
}
-int * __h_errno_location()
+int *
+__h_errno_location (void)
{
pthread_descr self = thread_self();
return THREAD_GETMEM (self, p_h_errnop);
}
/* Return thread specific resolver state. */
-struct __res_state * __res_state()
+struct __res_state *
+__res_state (void)
{
pthread_descr self = thread_self();
return THREAD_GETMEM (self, p_resp);
diff --git a/linuxthreads/sysdeps/pthread/tst-timer.c b/linuxthreads/sysdeps/pthread/tst-timer.c
index 803b411b5a..73e2aab0e7 100644
--- a/linuxthreads/sysdeps/pthread/tst-timer.c
+++ b/linuxthreads/sysdeps/pthread/tst-timer.c
@@ -1,5 +1,5 @@
/* Tests for POSIX timer implementation.
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Kaz Kylheku <kaz@ashi.footprints.net>.
@@ -66,17 +66,7 @@ main (void)
.sigev_notify = SIGEV_SIGNAL,
.sigev_signo = ZSIGALRM
};
- struct sigevent sigev2 =
- {
- .sigev_notify = SIGEV_THREAD,
- ._sigev_un =
- {
- ._sigev_thread =
- {
- ._function = notify_func
- }
- }
- };
+ struct sigevent sigev2;
struct itimerspec itimer1 = { { 0, 200000000 }, { 0, 200000000 } };
struct itimerspec itimer2 = { { 0, 100000000 }, { 0, 500000000 } };
struct itimerspec itimer3 = { { 0, 150000000 }, { 0, 300000000 } };
@@ -84,6 +74,9 @@ main (void)
retval = clock_gettime (CLOCK_REALTIME, &ts);
+ sigev2.sigev_notify = SIGEV_THREAD;
+ sigev2.sigev_notify_function = notify_func;
+
setvbuf (stdout, 0, _IOLBF, 0);
printf ("clock_gettime returned %d, timespec = { %ld, %ld }\n",
diff --git a/linuxthreads/wrapsyscall.c b/linuxthreads/wrapsyscall.c
index 5b92cde15f..c5180355b2 100644
--- a/linuxthreads/wrapsyscall.c
+++ b/linuxthreads/wrapsyscall.c
@@ -1,5 +1,5 @@
/* Wrapper arpund system calls to provide cancelation points.
- Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
+ Copyright (C) 1996-1999,2000-2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -69,6 +69,8 @@ name param_list \
return result; \
}
+#define PROMOTE_INTEGRAL_TYPE(type) __typeof__ ((type) 0 + 0)
+
/* close(2). */
CANCELABLE_SYSCALL (int, close, (int fd), (fd))
@@ -110,13 +112,17 @@ strong_alias (nanosleep, __nanosleep)
/* open(2). */
CANCELABLE_SYSCALL_VA (int, open, (const char *pathname, int flags, ...),
- (pathname, flags, va_arg (ap, mode_t)), flags)
+ (pathname, flags,
+ va_arg (ap, PROMOTE_INTEGRAL_TYPE (mode_t))),
+ flags)
strong_alias (open, __open)
/* open64(3). */
CANCELABLE_SYSCALL_VA (int, open64, (const char *pathname, int flags, ...),
- (pathname, flags, va_arg (ap, mode_t)), flags)
+ (pathname, flags,
+ va_arg (ap, PROMOTE_INTEGRAL_TYPE (mode_t))),
+ flags)
strong_alias (open64, __open64)
diff --git a/nscd/connections.c b/nscd/connections.c
index 7414ef60a3..58e05018d3 100644
--- a/nscd/connections.c
+++ b/nscd/connections.c
@@ -391,12 +391,12 @@ cannot handle old request version %d; current version is %d"),
}
else
{
- struct ucred caller;
- socklen_t optlen = sizeof (caller);
-
/* Some systems have no SO_PEERCRED implementation. They don't
care about security so we don't as well. */
#ifdef SO_PEERCRED
+ struct ucred caller;
+ socklen_t optlen = sizeof (caller);
+
if (getsockopt (fd, SOL_SOCKET, SO_PEERCRED, &caller, &optlen) < 0)
{
char buf[256];
diff --git a/sysdeps/unix/sysv/aix/sigset-cvt-mask.h b/sysdeps/unix/sysv/aix/sigset-cvt-mask.h
index 50d70ae81a..cc05fb70fa 100644
--- a/sysdeps/unix/sysv/aix/sigset-cvt-mask.h
+++ b/sysdeps/unix/sysv/aix/sigset-cvt-mask.h
@@ -18,8 +18,16 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define sigset_set_old_mask(set, mask) \
- ((set)->__losigs = (unsigned int) (mask), (set)->__hisigs = 0, 0)
+static inline int __attribute__ ((unused))
+sigset_set_old_mask (sigset_t *set, int mask)
+{
+ set->__losigs = (unsigned int) mask;
+ set->__hisigs = 0;
+ return 0;
+}
-#define sigset_get_old_mask(set, mask) \
- ((unsigned int) (set)->__losigs)
+static inline int __attribute__ ((unused))
+sigset_get_old_mask (const sigset_t *set)
+{
+ return (unsigned int) set->__losigs;
+}
diff --git a/sysdeps/unix/sysv/linux/sigset-cvt-mask.h b/sysdeps/unix/sysv/linux/sigset-cvt-mask.h
index b86a101172..ca4774dbd6 100644
--- a/sysdeps/unix/sysv/linux/sigset-cvt-mask.h
+++ b/sysdeps/unix/sysv/linux/sigset-cvt-mask.h
@@ -19,17 +19,26 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define sigset_set_old_mask(set, mask) \
- ({ \
- unsigned long int *__ptr; \
- int __cnt; \
- __ptr = &(set)->__val[0]; \
- *__ptr++ = (unsigned long int) (mask); \
- __cnt = _SIGSET_NWORDS - 2; \
- do \
- *__ptr++ = 0ul; \
- while (--__cnt >= 0); \
- 0; })
-
-#define sigset_get_old_mask(set) \
- ((unsigned int) (set)->__val[0])
+static inline int __attribute__ ((unused))
+sigset_set_old_mask (sigset_t *set, int mask)
+{
+ unsigned long int *ptr;
+ int cnt;
+
+ ptr = &set->__val[0];
+
+ *ptr++ = (unsigned int) mask;
+
+ cnt = _SIGSET_NWORDS - 2;
+ do
+ *ptr++ = 0ul;
+ while (--cnt >= 0);
+
+ return 0;
+}
+
+static inline int __attribute__ ((unused))
+sigset_get_old_mask (const sigset_t *set)
+{
+ return (unsigned int) set->__val[0];
+}
diff --git a/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h b/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h
index f647dfed86..5b7ea25885 100644
--- a/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h
+++ b/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h
@@ -19,15 +19,19 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define sigset_set_old_mask(set, mask) \
- ({ \
- unsigned long int *__ptr; \
- __ptr = &(set)->__sigbits[0]; \
- __ptr[0] = (mask); \
- __ptr[1] = 0ul; \
- __ptr[2] = 0ul; \
- __ptr[3] = 0ul; \
- 0; })
+static inline int __attribute__ ((unused))
+sigset_set_old_mask (sigset_t *set, int mask)
+{
+ set->__sigbits[0] = (unsigned int) mask;
+ set->__sigbits[1] = 0ul;
+ set->__sigbits[2] = 0ul;
+ set->__sigbits[3] = 0ul;
-#define sigset_get_old_mask(set) \
- ((unsigned int) (set)->__sigbits[0])
+ return 0;
+}
+
+static inline int __attribute__ ((unused))
+sigset_get_old_mask (const sigset_t *set)
+{
+ return (unsigned int) set->__sigbits[0];
+}