summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--sysdeps/generic/bp-checks.h2
-rw-r--r--sysdeps/generic/bp-semctl.h4
-rw-r--r--sysdeps/unix/sysv/linux/shmat.c2
4 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index b6075c6745..3b9deb208c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2000-07-27  Greg McGary  <greg@mcgary.org>
+
+	* sysdeps/generic/bp-checks.h (BOUNDED_N): Make it work for void*.
+	* sysdeps/generic/bp-semctl.h (check_semctl): Fix syntax error
+	in union init.  Pass zero for ignored semnum arg to semctl.
+	* sysdeps/unix/sysv/linux/shmat.c (shmat): Fix typo.
+
 2000-07-26  Greg McGary  <greg@mcgary.org>
 
 	* sysdeps/gnu/bits/msq.h: Qualify kernel's
diff --git a/sysdeps/generic/bp-checks.h b/sysdeps/generic/bp-checks.h
index 0da4657ae2..f7defa417c 100644
--- a/sysdeps/generic/bp-checks.h
+++ b/sysdeps/generic/bp-checks.h
@@ -92,7 +92,7 @@ extern void *__unbounded __ubp_memchr (const void *__unbounded, int, unsigned);
 
 /* Return a bounded pointer with value PTR that satisfies CHECK_N (PTR, N).  */
 # define BOUNDED_N(PTR, N) 				\
-  ({ __typeof (*(PTR)) *__bounded _p_;			\
+  ({ __typeof (PTR) __bounded _p_;			\
      __ptrvalue _p_ = __ptrlow _p_ = __ptrvalue (PTR);	\
      __ptrhigh _p_ = __ptrvalue _p_ + (N);		\
      _p_; })
diff --git a/sysdeps/generic/bp-semctl.h b/sysdeps/generic/bp-semctl.h
index 86a6b27734..7ba8f43bfd 100644
--- a/sysdeps/generic/bp-semctl.h
+++ b/sysdeps/generic/bp-semctl.h
@@ -43,12 +43,12 @@ check_semctl (union semun *arg, int semid, int cmd)
     case SETALL:
       {
 	struct semid_ds ds;
-	union semun un = { buf: &ds; };
+	union semun un = { buf: &ds };
 	unsigned int length = ~0;
 
 	/* It's unfortunate that we need to make a recursive
 	   system call to get the size of the semaphore set...  */
-	if (semctl (semid, semnum, IPC_STAT | ipc64, un) == 0)
+	if (semctl (semid, 0, IPC_STAT | ipc64, un) == 0)
 	  length = ds.sem_nsems;
 	(void) CHECK_N (arg->array, length);
 	break;
diff --git a/sysdeps/unix/sysv/linux/shmat.c b/sysdeps/unix/sysv/linux/shmat.c
index 33dc016b14..dc5a848eaa 100644
--- a/sysdeps/unix/sysv/linux/shmat.c
+++ b/sysdeps/unix/sysv/linux/shmat.c
@@ -43,7 +43,7 @@ shmat (shmid, shmaddr, shmflg)
   struct shmid_ds shmds;
   /* It's unfortunate that we need to make another system call to get
      the shared memory segment length...  */
-  if (shmctl (shmid, ICP_STAT, &shmds) == 0)
+  if (shmctl (shmid, IPC_STAT, &shmds) == 0)
     length = shmds.shm_segsz;
 #endif