about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-09-05 18:52:18 +0000
committerRoland McGrath <roland@gnu.org>2002-09-05 18:52:18 +0000
commitbe3c40b627f1f39f9e60240c533cc9535a18f172 (patch)
tree115ec69f81074a3fc4a4fe3ad5942e9c4b5a2472
parent43e3d6e3e2a33853b45d0ac770cb91426f944423 (diff)
downloadglibc-be3c40b627f1f39f9e60240c533cc9535a18f172.tar.gz
glibc-be3c40b627f1f39f9e60240c533cc9535a18f172.tar.xz
glibc-be3c40b627f1f39f9e60240c533cc9535a18f172.zip
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.
-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];
+}